gpt4 book ai didi

reactjs - componentWillUpdate——修改 nextProps 或 nextState 安全吗?

转载 作者:行者123 更新时间:2023-12-03 13:47:51 24 4
gpt4 key购买 nike

这样做会产生什么影响?

class Foo extends React.Component {
componentWillUpdate(nextProps, nextState) {
nextState.bar = transformSomehow(nextState.foo);
}
}

我的直觉告诉我这是错误的,但我没有找到任何文档说明 nextPropsnextState 应该是只读的,我也没有找到任何内容说这样就可以了。

这里的想法是我想要某种来自状态的数据的清理/转换/修改版本。可能有很多其他(更好)的方法可以做到这一点,但这也是一个可行的选择吗?

最佳答案

我想说这不是一个理想的方法,因为你正在尝试改变状态。您不应从 componentWillUpdate 中调用 setState,此时也不应尝试更新状态对象。此阶段更多用于动画、DOM 操作等。

如果你想基于 nextState 设置一些其他变量,那就去做吧。如果您想使用状态的临时副本来完成某件事,那很好。但我认为尝试在此方法中改变状态与此生命周期方法的预期用途背道而驰。来自 componentWillUpdate 的文档:

Note that you cannot call this.setState() here. If you need to update state in response to a prop change, use componentWillReceiveProps() instead.

关于reactjs - componentWillUpdate——修改 nextProps 或 nextState 安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43641493/

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