gpt4 book ai didi

reactjs - ComponentDidUpdate 和 prevState

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

这是场景。我有一个父组件和一个子组件。父组件执行 ajax 调用并将数据推送到子组件。

当子组件接收到新数据时,在(子组件)的 componentDidUpdate 中,我将重新设置其内部状态。

componentDidUpdate(prevProps, prevState) { 

if ( prevProps.myRow !== this.props.myRow ) { //check for when new data is passed into this component from its parent / container...
this.setState({
editableRowObj : this.props.myRow //... only then I should bother updating the state with the new data passed in.
})
}
}

我无法想象一个场景,其中我需要检查(子组件)内部的 componentDidUpdate

prevState !== this.state

这是因为当我将新数据传递到子组件时, this.state 将等于 prevState (这将是接收新数据之前的旧状态);即,直到我运行上面的 setState 之前,先前的状态和当前的状态将保持不变。

因此我的问题是,在什么情况下我需要检查 prevState != this.state ?

最佳答案

适用于 Prop 的相同场景也适用于 Prop 。可能会发生这样的情况:在状态发生变化时,您需要触发 API 调用来获取数据。现在您可能决定在 setState 回调中调用函数,但如果从多个位置更改相同的状态,那么 componentDidUpdate 是一个好地方。

关于reactjs - ComponentDidUpdate 和 prevState,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53478065/

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