reactjs - 如何在使用钩子同时更新 2 个状态时添加回调?
问题描述
当超过 2 个状态同时更新时如何添加回调。请检查类组件的波纹管代码,当状态将成功更新时,我会在其中添加回调。
this.setState({liveMatches: finalMatches, isLoading: false, runningFetch: false, disbleSportsSwitch:false}, ()=> this.startListener());
但是现在我要在功能组件内的钩子中转换这段代码。
Useeffect(()=>{
startListener());
},[liveMatches,isLoading,runningFetch,disbleSportsSwitch])
请检查它是否正确?
解决方案
您上面提供的代码将在每次状态更改时添加一个回调。(请正确提供依赖数组)
但是您可以通过引入您的自定义钩子来识别导致依赖的效果,如果发现 2 个或多个 2 已更改,则添加您的回调
推荐阅读
- html - 将 CSS 连接到 HTML 时遇到问题
- vba - 使用批处理文件运行 MS 访问模块时找不到对象错误的原因是什么?
- python - Pandas - 日期时间列的奇怪问题
- excel - Excel将按钮变成图像
- json - 如果先前的命令在 gitlab 脚本中发现无效文件,如何失败?
- python - 当我运行它的 .py 文件时,无法在 python 中写入文件。但是当我在pycharm中运行它时,它确实有效
- javascript - 限制列表中每个数字最多 5 位数字
- django-rest-framework - 身份验证成功后,如何返回从自定义用户子类化的 Django 用户?
- google-bigquery - 基于 BigQuery 中其他字段整数的 DateSub 函数
- python - 为什么减去日期时间会产生溢出错误?