Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检查类组件中状态中的值是否已更改_Javascript_Reactjs - Fatal编程技术网

Javascript 检查类组件中状态中的值是否已更改

Javascript 检查类组件中状态中的值是否已更改,javascript,reactjs,Javascript,Reactjs,该项目已经开始使用基于类的React,我无法切换到挂钩。 所以我基本上有一个表单,可以编辑(有来自服务器的数据,该服务器应该用表单最后填充的数据填充表单),也可以启动一个新表单(它是空的,我不需要帮助) 我的状态中有一个变量可以检查:isEdit-检查表单是否正在编辑,或者它是空的开始,状态中的一个变量称为loadedCategories,它是一个数字数组,并由上次编辑/创建表单时的类别ID填充。只有isEdit是真的 另一方面,状态中还有另一个变量:currentLoadedCategorie

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

我的状态中有一个变量可以检查:isEdit-检查表单是否正在编辑,或者它是空的开始,状态中的一个变量称为loadedCategories,它是一个数字数组,并由上次编辑/创建表单时的类别ID填充。只有isEdit是真的

另一方面,状态中还有另一个变量:currentLoadedCategories,它也是一个数字数组,只有在对名为Categories的输入字段进行更改时才会填充

现在主要的问题是,当currentLoadedCategories被更改时(当输入被更改时),我想清空currendLoadedCategories

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

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

简单地说,我想要的就是检测状态中什么时候发生了变化,就像这个例子一样。

方法
componentdiddupdate(prevProps,prevState,snapshot)
在这里很有用,你只需将
prevState
this.state
进行比较就可以看到发生了什么变化

官方文件是一个很好的资源,你想要的。