如果我有类似的功能组件:
const Example = ({props})=> {
console.log("render outside effect");
React.useEffect(()=>console.log("render inside effect"))
}
这两个电话有什么区别?
这与我对功能性反应组件的理解相同。该函数将在每次重新渲染时执行,因此useEffect之外的所有表达式和函数都将执行吗?每次重新渲染时也会执行不带括号的useEffect吗?
这是一个误会吗?
预先感谢
特里斯坦
答案 0 :(得分:0)
useEffect
在每次重新渲染时,肯定都会调用您组件的控制台日志。但是,在react完成DOM的绘制之后,useEffect console.log将被重新渲染,但是功能组件内部的console.log()
将在DOM渲染完成之前执行
useEffects
中的react用于运行基于subscriptions
的{{1}}或sideEffects
,就像state or props
中的生命周期方法一样
您可以使用React class components
参数控制何时执行useEffect
。