[英]Pass data from child to parent and to another child component React Js
我將道具從子組件B傳遞到父組件A。然后從父組件A傳遞給子組件C。當我將數據從組件B傳遞到A時,一切都很好。 但是,當我嘗試將狀態設置為從父組件A中的組件B接收到的數據時,不會立即設置該狀態。
我已經在所有組件中綁定了功能。
以下是我正在使用的功能代碼。
在組件A中:
onchange=(data) => {
this.setState({
selectedvalue: data
});
console.log(data)
console.log(this.state.selectedvalue)
}
在初始渲染中,我在console.log(data)
獲得了正確的值,但是在console.log(this.state.selectedvalue)
得到undefied
。 當數據被改變console.log(this.state.selectedvalue)
顯示初始值console.log(data)
顯示。 也就是說,狀態是在互動之后而不是同時設置的。
我想將屬性selectedvalue
傳遞給另一個子組件C。
但是由於狀態沒有立即設置,因此一旦更改,我將無法傳遞數據。
有什么方法可以通過父組件A將數據從子組件B傳遞到子組件C?
setState
是異步的,您可以在callback
訪問更新的值:
this.setState({
selectedvalue: data
}, () => console.log(this.state.selectedvalue));
如果將this.state.selectedvalue
傳遞給子組件作為道具,則只要this.state.selectedvalue
發生更改,子組件將自動使用更新后的值重新呈現(除非您使用shouldComponentUpdate
明確忽略它)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.