2016-05-18 77 views
2

我聲明瞭一個父組件內部的組件。我想在一個文件中建立特定的道具,然後在父組件中,我希望能夠一次性爲子組件創建其他道具(因爲它們大部分是共享屬性..)。React組件等待所需的道具渲染

我的問題是,子組件試圖呈現和失敗,因爲所需的道具類型一開始並未建立。

有沒有辦法告訴孩子組件等待所需的道具呈現?

在ParentComponent渲染函數中,我調用另一個函數來運行React.Children.map()並將其附加到ChildComponent。

裏子組件所呈現的(粗糙)部分:

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

+1

可能重複的[我如何阻止React組件被渲染,直到我獲取所有信息?](http://stackoverflow.com/questions/35022922/how-can-i-block-a-react-component -to-需呈現,直到-I牽強,所有信息) – azium

回答

4

可以使用conditional render statement只能使被填充的道具,當孩子:

let {foo, bar} = this.props; 

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

或者,而不是null你可以呈現一個<LoadingSpinner />什麼的。