考虑React功能组件,如果我将我的组件作为子组件添加到其他组件中。它完美地工作。 为了测试目的,我登录了useEffect之外。页面加载时,它在useEffect内部呈现一次,在useEffect外呈现多次。是什么意思,因为消息多次在useEffect外部记录,我的组件多次渲染?
useEffect(()=>{
console.log('from toolbar inside useEffect')
},[]);
console.log('from toolbar outside useEffect')
答案 0 :(得分:3)
是的,这意味着您的组件正在多次渲染
console.log('from toolbar inside useEffect')
此设置仅渲染一次,因为您已设置了它。 您已将UseEffect设置为仅在页面加载时运行一次。
UseEffect可以用于在某些更改时运行一些逻辑
useEffect(() => {
// The logic that you want to run
},[comma seperated parameters])
任何参数更改时,都会调用useEffect挂钩。
由于您未传递任何参数,因此它仅运行一次。
您可以阅读有关useEffect here
的更多信息