对 React 来说相对较新,遇到了一些我不确定答案的问题。如果有条件操作,useEffect与仅使用 if 语句有区别吗?
function Items() {
[setItemAdded, itemAdded] = useState(false);
if (itemAdded) {
saveData();
itemAdded = false;
}
}
Run Code Online (Sandbox Code Playgroud)
与
useEffect(() => {
if (itemAdded) {
saveData();
itemAdded = false;
}, [itemAdded]);
Run Code Online (Sandbox Code Playgroud)
根据我的理解,当状态更新时itemAdded,它将重新渲染将调用条件语句并执行代码的组件。
在第二种情况下,由于是一个依赖项,因此每当更改itemAdded时都会调用它。itemAdded对我来说,这两种情况似乎具有相同的效果。两者有区别吗?