gpt4 book ai didi

reactjs - 如何忽略ReactJs中状态的属性更新?

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

我知道你可以使用shouldComponentUpdate决定是否应该调用渲染。引用文档:

By default, shouldComponentUpdate always returns true to prevent subtle bugs when state is mutated in place, but if you are careful to always treat state as immutable and to read only from props and state in render() then you can override shouldComponentUpdate with an implementation that compares the old props and state to their replacements.

但我的麻烦有点不同。我在 componentDidUpdate 中计算一个值,因为需要第一次渲染才能完成我的计算,并且我想将该值存储在状态上,以便稍后在 render 函数,但我不想在修改它时触发渲染。

你会怎么做?这是正确的方法吗?我应该将该值存储在其他地方吗?直接在 this 上?

最佳答案

在组件实际更新之前计算您的状态。

componentWillUpdate(nextProps, nextState) {
nextState.value = nextProps.a + nextProps.b;
}

您的组件将获得包含其他更改的计算值,并且仅更新一次。

关于reactjs - 如何忽略ReactJs中状态的属性更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36888386/

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