首页 > 解决方案 > 检查状态中的值是否在类组件中更改

问题描述

该项目已经开始使用基于类的 React,我无法切换到钩子。所以我基本上有一个表格,可以编辑(有来自服务器的数据应该用它填充的最后一个数据填充表格)或开始一个新的(它是空的,我不需要帮助)。

我有一个处于检查状态的变量:isEdit - 检查表单是否正在编辑,或者它是一个空开始,一个名为loadedCategories 的状态变量,它是一个数字数组,正在填充最后一个类别的ID仅编辑/创建表单的时间 isEdited 为真。

另一方面,我们在状态中有另一个 var:currentLoadedCategories,它也是一个数字数组,只有在名为 Categories 的输入字段发生更改时才被填充。

现在主要问题是我想在更改 currentLoadedCategories 时,这将在更改输入时发生,我想清空 currendLoadedCategories。

我会给你一个带有钩子的例子,因为这是我的强项,我需要你的帮助来用类来实现它。

useEffect(() => {
if(isEdit){
setloadedCategories([]) 
}
}, [currentLoadedCategories])

简单地说,我想要的只是检测状态中的某些内容何时发生变化,就像示例一样。

标签: javascriptreactjs

解决方案


该方法componentDidUpdate(prevProps, prevState, snapshot)在这里很有用,您只需进行比较prevState即可this.state查看发生了什么变化!


推荐阅读