React Component等待渲染所需的道具

时间:2016-05-18 19:39:37

标签: javascript reactjs

我在父组件中声明了一个组件。我想在一个文件中建立特定的道具,然后在父组件中,我希望能够同时为子组件建立其他道具(因为它们是共享属性...大部分)。

我的问题是子组件尝试渲染并失败,因为最初没有建立所需的prop类型。

有没有办法告诉子组件等待渲染所需的道具?

在ParentComponent渲染函数中,我调用另一个函数来运行React.Children.map()并将props追加到ChildComponent。

呈现子组件的(粗略)部分:

<ParentComponent>
    <ChildComponent
        attribute="test_attribute"
        label="Child Component"
        type="number"
        width={3}
    />
</ParentComponent>

1 个答案:

答案 0 :(得分:10)

您可以使用conditional render statement仅在填充道具时渲染子项:

let {foo, bar} = this.props;

<ParentComponent>
    { foo && bar ? <ChildComponent foo={foo} bar={bar} /> : null }
</ParentComponent>

或者代替null,您可以呈现<LoadingSpinner />或其他内容。