为了账号安全,请及时绑定邮箱和手机立即绑定

React:useEffect 不能保证在组件渲染之前运行吗?

React:useEffect 不能保证在组件渲染之前运行吗?

白猪掌柜的 2021-06-10 11:02:47
我正在尝试Gatsby.js根据我所在的 url 路径更新 中的某些组件。我useEffect()用来确保组件仅在location.pathname(域之后的 url 部分)更改时更新。这是代码: https : //codesandbox.io/s/gatsbystarterdefault-290qv出于某种原因,useEffect没有使用locationprop的更新值(传递给header组件,组件依次包装每个页面)。要重现,请转到上面的CodeSandbox并:单击第 2 页,然后再次返回第 1 页请参阅控制台语句,isHome when re-rendering Header即truewhile、isHome at NavItemLinkisfalse知道为什么useEffect没有获得 的最新值location吗?
查看完整描述

2 回答

  • 2 回答
  • 0 关注
  • 502 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信