首页 > 解决方案 > 在 React 中比较以前的状态和当前/新的状态

问题描述

我需要将 与 进行比较prevStatethis.state但不确定是否可能。prevState似乎可以setState运行,但我不需要设置状态。我只需要检查一个状态变量是否已从以前的值更改,然后我需要采取某种措施。我知道我可以componentDidUpdate用来知道是否发生了变化,但我需要将一个特定的状态值与其之前的值进行比较。

使用新的 React 钩子可能是可能的,但我正在使用类并且切换到钩子是不可能的。

标签: reactjsreact-hooks

解决方案


您可以比较 componentDidUpdate 本身的特定状态值:

componentDidUpdate(prevProps, prevState) {
   if(prevState.value !== this.state.value) {
     // perform the action
   }
}

推荐阅读