我在父组件中声明了一个组件。我想在一个文件中建立特定的道具,然后在父组件中,我希望能够同时为子组件建立其他道具(因为它们是共享属性...大部分)。
我的问题是子组件尝试渲染并失败,因为最初没有建立所需的prop类型。
有没有办法告诉子组件等待渲染所需的道具?
在ParentComponent渲染函数中,我调用另一个函数来运行React.Children.map()并将props追加到ChildComponent。
呈现子组件的(粗略)部分:
<ParentComponent>
<ChildComponent
attribute="test_attribute"
label="Child Component"
type="number"
width={3}
/>
</ParentComponent>
答案 0 :(得分:10)
您可以使用conditional render statement仅在填充道具时渲染子项:
let {foo, bar} = this.props;
<ParentComponent>
{ foo && bar ? <ChildComponent foo={foo} bar={bar} /> : null }
</ParentComponent>
或者代替null
,您可以呈现<LoadingSpinner />
或其他内容。