У меня есть компонент, который оборачивает другие компоненты и условно отображает их, когда все необходимые данные загружены. Тем не менее, я получаю ошибки протипа -- по строкам the prop x is marked as required in component Y but its value is undefined
. prop x
— это данные, которые еще не вернулись с сервера, а component Y
— это дочерний компонент, который будет отображаться, когда данные вернутся.
Вот пример того, о чем я говорю:
<Wrapper contentLoaded={hasDataLoaded && !!dataThatWillLoad}>
<ComponentWithData
dataThatWillLoad={dataThatWillLoad}
dataThatAlreadyExists={dataThatAlreadyExists}
/>
</Wrapper>
и мой компонент-оболочка:
const Wrapper = ({ contentLoaded, children }) => {
if (contentLoaded) return children;
return <p>Loading</p>;
}
Это приведет к ошибке Prop dataThatWillLoad is marked as required in component ComponentWithData but its value is undefined
.
Мне это кажется странным, поскольку ComponentWithData
даже не отображается, пока не вернутся данные. Это как-то связано с проверкой proptypes? Этот конкретный фрагмент данных поступает в компонент через mapStateToProps, может ли это быть как-то связано с этим?
Спасибо!