尽管我掌握了基础知识,但似乎我仍然在努力奋斗。我有一个例子。
通过上述代码,我看到了以下输出。
我想知道为什么第二次触发
注意:我没有使用strictmode。
const Component = () => {
const [state, setState] = useState("");
useEffect(() => {
console.log("useEffect");
setState("Nebil");
}, [state]);
console.log("component rerender ", state);
};
export default Component;
通过上述代码,我看到了以下输出。
component rerender
useEffect
component rerender Nebil
useEffect
component rerender Nebil
我想知道为什么第二次触发
useEffect
时,它会更新状态并导致重新渲染。我以为当值等于"Nebil"并且我们将状态设置为"Nebil"时,由于它是一个字符串,这不会重新渲染组件。你能解释一下吗?注意:我没有使用strictmode。