在我的反應js應用程序中,我似乎無法將狀態值用作子組件的道具。不能使用狀態值作爲子組件的道具
在父組件constructor
中,應用程序具有一個空狀態,稱爲selectedWarehouseID
。
此狀態(selectedWarehouseID
)應更新爲componentWillMount()
方法中的某些信息。
現在,在父組件的render
方法中,我嵌入另一個具有此狀態作爲道具的子組件。
<ItemChooser
productsByWarehouse = { this.state.selectedWarehouseID }
/>
現在,這裏的問題,在子組件的this.props.productsByWarehouse
值總是null
。我發現了一個很好的explanation爲什麼發生這種情況,但如何等待父母componentWillMount()
中更新的數據訪問在子組件道具中傳遞的狀態的更新值?
代替更新'componentWillMount'中的狀態,在'componentDidMount'中更新它並使用setState,child將自動獲取更新狀態值作爲道具。如果這個計算不是很大,那麼直接從構造函數中調用一個函數,並用該值初始化狀態,而不是null。 –
@MayankShukla這沒有奏效,仍然是空值 – rakibtg
你可以顯示代碼如何更新該方法的狀態?一個問題是「你在兒童組件的狀態下存儲道具值?」 –