外部useEffect和内部useEffect之间的渲染差异

时间:2020-06-29 22:14:00

标签: reactjs react-hooks

考虑React功能组件,如果我将我的组件作为子组件添加到其他组件中。它完美地工作。 为了测试目的,我登录了useEffect之外。页面加载时,它在useEffect内部呈现一次,在useEffect外呈现多次。是什么意思,因为消息多次在useEffect外部记录,我的组件多次渲染?

useEffect(()=>{
  console.log('from toolbar inside useEffect')
},[]);
console.log('from toolbar outside useEffect')

1 个答案:

答案 0 :(得分:3)

是的,这意味着您的组件正在多次渲染

  console.log('from toolbar inside useEffect')

此设置仅渲染一次,因为您已设置了它。 您已将UseEffect设置为仅在页面加载时运行一次。

UseEffect可以用于在某些更改时运行一些逻辑

useEffect(() => {
 // The logic that you want to run
},[comma seperated parameters])

任何参数更改时,都会调用useEffect挂钩。

由于您未传递任何参数,因此它仅运行一次。

您可以阅读有关useEffect here

的更多信息