【发布时间】:2019-09-30 22:05:46
【问题描述】:
我正在尝试在 Gatsby 页面加载后更新上下文。
按照我的做法,为所有页面提供上下文,一旦页面加载,上下文就会更新(使用useEffect 完成以确保它仅在组件挂载时发生)。
不幸的是,这会导致无限渲染循环(在 Firefox 中可能不会,但至少在 Chrome 中)。
为什么会这样?我的意思是,上下文更新意味着提供程序下面的所有组件都被重新渲染,但是 useEffect 应该只运行一次,并且那是组件挂载的时候。
这里是代码:https://codesandbox.io/s/6l3337447n
当您转到第二页时会发生无限循环(第一页底部的链接)。
如果我想在页面加载时更新上下文,这里的解决方案是什么?
【问题讨论】:
标签: javascript reactjs gatsby