簡體   English   中英

將數據從子級傳遞到父級,再傳遞到另一個子級組件React Js

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM