reactjs - 在 React 中,如果将依赖项更改为相同的值,useEffect 会被触发吗?
问题描述
假设我们有这个:
const [number, set_number] = useState(1);
useEffect(() => {
// do something
}, [number]);
如果一些计算这样做了怎么办:
set_number(2 - 1);
在这种情况下会触发 useEffect 吗?
解决方案
在 React 中,如果将依赖项更改为相同的值,useEffect 会被触发吗?
不,它没有,依赖项的目的是在至少一个依赖项发生变化时触发效果(即具有与先前渲染不同的值)。从文档:
如果某些值在重新渲染之间没有改变,你可以告诉 React 跳过应用效果。为此,请将数组作为可选的第二个参数传递给 useEffect
推荐阅读
- python-3.x - 如何获取相同键值的响应标头
- c# - 带有 MVVM 的 SplitView 的窗格内容模板
- html - 在反应js中滑动动画
- python - python以特定格式将三个列表合并为一个
- visual-c++ - Visual Studio 2017 C++ 异常消息框
- javascript - 如何修复未捕获的类型错误:无法读取属性“innerHTML”
- java - 正则表达式在 android 中的帮助
- keras - 如何处理多类文本分类中不在训练集中的测试集标签?
- android - 使用 kotlin 协程处理改造 2.6 的无互联网连接错误
- mysql - MySQL 返回一个空的结果集(即零行)。(查询耗时 0.0034 秒。)