Ошибка уникального ключа при использовании массива компонентов с проверкой PropTypes.oneOfType () и PropType.arrayOf () - PullRequest
0 голосов
/ 23 октября 2018

У меня есть компонент 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 я получаю следующую ошибку:

Child key error when validating component type of array

Я знаю об уникальных ключах для подобных детей в React, но не смогчтобы найти руководство в Документах React или где-либо еще, в которых рассматривается это предупреждение об уникальных ключах при использовании массива PropTypes.

Когда я удаляю компонент, набирающий вызов PropTypesOneOfType() (то есть просто передавая Proptypes.element какarg), я не вижу ошибки.

Правильно ли я использую проверку детей PropTypes?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...