У меня есть компонент Foo
, который принимает дочерние элементы Bar
и Baz
.Я хочу проверить, что при наличии массива дочерних элементов принимаются только компоненты типа Bar
и Baz
.
Компонент также может принимать отдельный компонент Bar
или Baz
.
Мой код:
Foo.propTypes = {
children: PropTypes.oneOfType([
PropTypes.arrayOf(PropTypes.oneOfType([
componentPropType(Bar),
componentPropType(Baz)
])),
componentPropType(Bar),
componentPropType(Baz)
])
};
Я думаю, что приведенное выше допускает либо единичные компоненты типа Bar
или Baz
, либо массив, содержащий оба.
При работе в Storybook я получаю следующую ошибку:
Я знаю об уникальных ключах для подобных детей в React, но не смогчтобы найти руководство в Документах React или где-либо еще, в которых рассматривается это предупреждение об уникальных ключах при использовании массива PropTypes.
Когда я удаляю компонент, набирающий вызов PropTypesOneOfType()
(то есть просто передавая Proptypes.element
какarg), я не вижу ошибки.
Правильно ли я использую проверку детей PropTypes?