如果我有这个代码:
export const App = () => {
return <Child />;
};
const Child = () => {
console.log("RENDER");
useEffect(() => {
console.log("EFFECT");
}, []);
console.log("RETURN");
return <div>Hello world</div>;
};
控制台中的输出为:
RENDER
RETURN
RENDER
RETURN
EFFECT
EFFECT
- 为什么组件在触发useEffect之前会完全呈现两次?
- 为什么效果会运行两次?
我预计输出结果为:
RENDER
RETURN
EFFECT
(即组件呈现,然后触发useEffect)