功能组件

时间:2020-05-10 13:17:34

标签: reactjs

如果我有类似的功能组件:

const Example = ({props})=> {
    console.log("render outside effect");
    React.useEffect(()=>console.log("render inside effect"))
}

这两个电话有什么区别?

这与我对功能性反应组件的理解相同。该函数将在每次重新渲染时执行,因此useEffect之外的所有表达式和函数都将执行吗?每次重新渲染时也会执行不带括号的useEffect吗?

这是一个误会吗?

预先感谢

特里斯坦

1 个答案:

答案 0 :(得分:0)

一旦呈现周期成为组件,就会调用功能组件中的

useEffect

在每次重新渲染时,肯定都会调用您组件的控制台日志。但是,在react完成DOM的绘制之后,useEffect console.log将被重新渲染,但是功能组件内部的console.log()将在DOM渲染完成之前执行

useEffects中的react用于运行基于subscriptions的{​​{1}}或sideEffects,就像state or props中的生命周期方法一样

您可以使用React class components参数控制何时执行useEffect