javascript - 检查状态中的值是否在类组件中更改
问题描述
该项目已经开始使用基于类的 React,我无法切换到钩子。所以我基本上有一个表格,可以编辑(有来自服务器的数据应该用它填充的最后一个数据填充表格)或开始一个新的(它是空的,我不需要帮助)。
我有一个处于检查状态的变量:isEdit - 检查表单是否正在编辑,或者它是一个空开始,一个名为loadedCategories 的状态变量,它是一个数字数组,正在填充最后一个类别的ID仅编辑/创建表单的时间 isEdited 为真。
另一方面,我们在状态中有另一个 var:currentLoadedCategories,它也是一个数字数组,只有在名为 Categories 的输入字段发生更改时才被填充。
现在主要问题是我想在更改 currentLoadedCategories 时,这将在更改输入时发生,我想清空 currendLoadedCategories。
我会给你一个带有钩子的例子,因为这是我的强项,我需要你的帮助来用类来实现它。
useEffect(() => {
if(isEdit){
setloadedCategories([])
}
}, [currentLoadedCategories])
简单地说,我想要的只是检测状态中的某些内容何时发生变化,就像示例一样。
解决方案
该方法componentDidUpdate(prevProps, prevState, snapshot)
在这里很有用,您只需进行比较prevState
即可this.state
查看发生了什么变化!
推荐阅读
- php - 关联两个表以获得相同的 id mysql 的问题
- python-3.x - pip install 找不到我安装的最高版本的python
- python - Django-crispy-forms 中 Tabholder 中的动态选项卡名称
- php - Wordpress ajax 调用,其中依赖于 Google Sheets API 的类实例无法进行身份验证
- visual-studio - 为什么VS mac在调试时会打开单独的终端窗口?
- sql - SQL Server 替换外部联接中的空值
- android - 找不到 com.google.firebase:firebase-messaging:16.0.8
- azure-devops - 如何在 Azure DevOps Boards 中按 build 或 release 查询工作项?
- android - 防止线性布局在水平方向从其侧面推动元素
- javascript - 使用 libheif 将 Heic 转换为 jpg