2017-08-08 172 views
-2

爲什麼會出現在下面的示例代碼中的所有道具的皮棉錯誤PropType is defined but prop is never usedPropType定義,但道具從未使用

const propTypes = { 
    prop1: PropTypes.string, 
    prop2: PropTypes.string, 
    prop3: PropTypes.number, 
    prop4: PropTypes.string, 
    prop5: PropTypes.number, 
}; 

const userDetails = (props) => ((props.props2 > 0 & props.prop1 === props.props3) ? 
    t('translation/abc') 
    : t('translation/def')); 

const userDetails2 = (props) => ((props.props1 > 0 & props.prop4 === props.props5) ? 
    t('translation/ted') 
    : t('translation/sted')); 
+0

你實際上只使用一個命名的道具 - 'props'。嘗試解構:'const userDetails =({prop1,prop2})=> ...' –

+1

[PropType已定義但prop從未使用過]的可能重複(https://stackoverflow.com/questions/45527114/proptype -is-defined-prop-is-never-used)...你已經問過這個問題。 – BugHunterUK

+0

您正在使用'props3'和'props5'而不是prop3'和'prop5',如propTypes中所定義。 – Defiant

回答

0

你並沒有使用規定的propTypes對象的組件的實例。

認爲這是一個可行的解決方案:

const propTypes = { 
    prop1: PropTypes.string, 
    prop2: PropTypes.string, 
    prop3: PropTypes.number, 
    prop4: PropTypes.string, 
    prop5: PropTypes.number, 
}; 

userDetails.propTypes = propTypes;

userDetails2.propTypes = propTypes;

+0

對不起,我錯過了補充說,但我這樣做 – User7354632781

相關問題