gpt4 book ai didi

reactjs - 为什么子组件不随父组件的状态更新?

转载 作者:行者123 更新时间:2023-12-03 02:54:47 25 4
gpt4 key购买 nike

我将父状态传递给子组件,但是当我在子组件中打印 props 时,我得到的是父组件的先前状态,而不是最新状态。我很确定这是因为 this.setState 是异步的。

  handleClick(event) {
const value = event.currentTarget.value;
this.setState({ touched: value });
}

render() {
return(
<ChildComponent {...this.state} />
)

}

最佳答案

componentWillReceiveProps 是在组件更新渲染之前。 If you read the docs他们解释说你可以引用下一个即将到来的 Prop 。

componentWillReceiveProps(nextProps, nextState){
this.props.something // old value
nextProps.something // new value
}

现在渲染完成后是否发生更新。

componentDidUpdate(previousProps){
this.props.somehting // new value
previousProps.something // old value
}

您的问题是您在新 Prop 发生更改以更新旧 Prop 之前打印出旧 Prop 。您需要的是 componentDidUpdate 或查看下一个传入的 props

关于reactjs - 为什么子组件不随父组件的状态更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42462792/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com