React:设置数组的默认proptype

时间:2017-01-06 16:38:05

标签: reactjs react-proptypes

在React中,我可以像这样设置默认的PropType:

MyComponent.defaultProps = {
    multiple: false
}

现在,我的一个道具是一个关联数组。我想为其中一个键值pars设置默认值,例如:

ImageMultiCheck.defaultProps = {
    multiple: false,
    myArray: {label: 'default Value'}
}

这不起作用。也许它只是一个语法错误。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

默认道具仅在没有为该特定属性传入道具时使用。如果您传递myArray的道具,但该对象没有label的键/值对,那么您将有两个选项:

您可以在父组件中处理该情况,并检查传递的对象上是否存在标签,如果不添加默认值。否则,在ImageMultiCheck组件中,您必须执行某种var label = myArray.label ? myArray.label : 'default value'

由于它是一个道具,你不想通过像myArray ImageMultiCheck`组件那样改变你的myArray.label = 'default value' in the对象,因此我建议对变量使用三元赋值操作。