Я хотел бы знать, как обрабатывать ошибку PropTypes при передаче компонента в качестве дочернего:
Failed prop type: The prop `value` is marked as required in `ChildComponent`, but its value is `undefined`.
Рендеринг работает, как ожидалось, и правильно передает свойство value.
Я полагаю, это происходит потому, что я помещаю компонент в функцию рендеринга компонента App
без каких-либо реквизитов. Я передаю эти реквизиты ChildComponent
только тогда, когда ParentComponent
сопоставляется со своими дочерними элементами (то есть ChildComponent).
См. Код: https://codesandbox.io/embed/r70r5z3j9q
Есть ли способ предотвратить это? Как мне структурировать свои компоненты? Разве я не должен передавать компоненты в детстве?
EDITED: свойство "name" изменено на "value". Чтобы придать ему более общий вид. Я попытался упростить проблему в коде. Я знаю, что могу передать опору прямо в App
. Вариант использования - когда родитель выполняет вычисления, и предполагается, что эти вычисления передаются потомку. Не зная явно, что это за дети. Вот почему я использую его в первую очередь в детстве.
name
как обязательное.name: PropTypes.string.isRequired
. Либо укажите свойство в<ChildComponent />
index.js, либо не требуйтеname
prop. - person Gregg   schedule 09.05.2018