編輯: 感謝您的答覆傢伙。我在這裏找到了我的問題的根源。由於某種原因,代碼(我從別人那裏繼承)多次調用我的組件,覆蓋我的值。我想我可以從這裏拿走它。無論如何,謝謝你們。反應js - 將一個值從孩子傳遞給父母,然後傳給另一個孩子?
我的部件都設置這樣的:
A
- B
- C
而且我想B,觸發時,傳遞一個值回A,並設置一個新的狀態。然後,當一個事件被觸發時,A會將該值傳遞給C作爲道具。
到目前爲止,我已經嘗試創造一個函數,然後把它傳遞到B爲道具,因爲這樣的:
A:
handler(){
setState({value: someVal});
}
render(){
<B func={this.handler}/>
eventTriggered <C cProp={this.state.value}/>
}
然而,正如(我是發現)的setState()是異步的,當C掛載的時候,this.state.value可能沒有從B分配的值。
也許我的整個方法是錯誤的,但是有無補救的辦法嗎?
在此先感謝。
您能否提供一段代碼來模擬這種情況與任何在線編輯器?以這種方式獲取你的背景會更容易。 – Rowland