结合使用具有PropTypes.oneOfType()和PropType.arrayOf()验证的组件数组时的唯一键错误

时间:2018-10-23 19:20:41

标签: javascript reactjs react-props react-proptypes storybook

我有一个接受孩子FooBar的组件Baz。我想验证一下,当存在一系列孩子时,仅接受类型为BarBaz的组件。

该组件还可以接受单个BarBaz组件。

我的代码:

Foo.propTypes = {
    children: PropTypes.oneOfType([
        PropTypes.arrayOf(PropTypes.oneOfType([
            componentPropType(Bar),
            componentPropType(Baz)
        ])), 
        componentPropType(Bar),
        componentPropType(Baz)
    ])
};

我的想法是,以上内容将允许使用BarBaz类型的单个组件或包含这两个组件的数组。

在Storybook中运行时,出现以下错误:

Child key error when validating component type of array

我知道React中类似孩子的唯一键,但是我无法在React文档或其他地方找到使用PropTypes数组时解决此唯一键警告的指南。

当我删除PropTypesOneOfType()调用的组件类型(即仅将Proptypes.element作为参数传递)时,我看不到错误。

我是否正确使用了PropTypes子级验证?

0 个答案:

没有答案