使用useEffect挂钩时,如何避免多余的React组件渲染?

时间:2020-06-26 15:37:01

标签: javascript reactjs react-redux electron

每个人,我目前正在从事React / Electron项目,并且对如何满足客户使用useEffect挂钩时减少渲染次数的要求感到困惑。在我当前的项目中,我使用的是容器/组件结构,所以我有index.js文件,其中包含组件的所有逻辑以及所涉及的useEffect。如果文件存在,index.js中的useEffect旨在预填充文件输入,但是,这是造成额外渲染的原因,因为该组件在useEffect完成之前渲染,而一旦完成,则宿主组件然后再次使用更新后的数据重新渲染。所以我的问题是有没有办法在home组件第一次渲染之前完成useEffect,或者这只是React的一部分,不能真正更改,我的客户将不得不接受?

enter image description here

1 个答案:

答案 0 :(得分:1)

useEffect(() => {}, [])

最后一个空数组表示此useEffect没有任何dep,因此它仅在开始时运行一次。

ref:https://reactjs.org/docs/hooks-reference.html#useeffect(下面为黄色)