【发布时间】:2023-04-03 05:55:01
【问题描述】:
React 相对较新,遇到了一些我不确定答案的问题。如果你有条件动作,useEffect 和只有 if 语句有区别吗?
function Items() {
[setItemAdded, itemAdded] = useState(false);
if (itemAdded) {
saveData();
itemAdded = false;
}
}
对
useEffect(() => {
if (itemAdded) {
saveData();
itemAdded = false;
}, [itemAdded]);
据我了解,当状态更新 itemAdded 时,它会重新渲染调用 if 语句并执行代码的组件。在第二种情况下,由于 itemAdded 是一个依赖项,只要 itemAdded 发生更改,它就会被调用。对我来说,这两种情况似乎具有相同的效果。两者有区别吗?
【问题讨论】:
标签: reactjs react-hooks use-effect