gpt4 book ai didi

javascript - React 保持单个 setState 调用?

转载 作者:行者123 更新时间:2023-12-01 03:21:02 24 4
gpt4 key购买 nike

假设在一个函数中,我总是需要设置someState,并且只需要在condition为true时设置someOtherState

这样做是否更好:

this.setState({ someState });

if (condition) {
this.setState({ someOtherState });
}

还是这个?

if (condition) {
this.setState({ someState, someOtherState });
} else {
this.setState({ someState });
}

我知道 React 已经过优化,快速连续调用 setState 通常不会导致重新渲染。但是这种行为是否得到保证或者代码应该做出这样的假设?

例如。假设它通过在固定时间间隔重新渲染来工作,如果第一个 setState 在该间隔 block 结束之前被调用,那么第二个 setState 将导致重新渲染渲染?

最佳答案

为什么不使用三元运算符?如果条件为真,则将其设置为新状态。否则,请使用旧的。

this.setState(prevState => ({
someState,
someOtherState: condition ? newSomeOtherState : prevState.someOtherState
}))

关于javascript - React 保持单个 setState 调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45203906/

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