【发布时间】:2022-11-11 03:02:56
【问题描述】:
当我尝试将页面设置为刷新功能的默认值时,它不会触发 useEffect 挂钩。但是,如果我第二次运行刷新功能,它就可以正常工作。这段代码也适用于其他值,如 2、3、4、5......
const [goal, setGoal] = useState();
const [page, setPage] = useState(1);
const [temp, setTemp] = useState([]);
useEffect(() => {
setGoal();
getData();
}, [page]);
const refresh = () => {
setTemp([]);
setPage(1);
};
【问题讨论】:
-
这就是 react 的工作方式,如果您设置的值与 state 已有的值相同,react 将不会运行重新渲染周期。所以第二次点击刷新,仍然有 1 作为新值将永远不会触发 useEffect。你真的确定当你第二次点击你的按钮时它会运行useEffect吗?
-
你能告诉我你怎么称呼你的刷新吗
标签: javascript node.js reactjs react-hooks