【问题标题】:Pages need to be reloaded for JavaScript to work when using menu links in React Router?在 React Router 中使用菜单链接时需要重新加载页面才能使 JavaScript 工作?
【发布时间】:2018-09-01 04:38:36
【问题描述】:

当我在 localhost:3000 上加载页面时,所有 JavaScript 文件都可以正常工作,但是当单击菜单链接 (localhost:300/some-page) 时,页面可以正常加载,但除非我重新加载页面,否则像 Google Places 这样的远程脚本无法正常工作.这是我的文件:

webpack.config.js

App.js

Header.js

index.html

index.js

【问题讨论】:

  • google API fetch call 放在componentWillMount 下。它无需重新加载页面即可工作。此外,我无法在您指定的任何链接中找到fetch call
  • 为什么我必须获取 Google Places API?它只是 index.html 中的一个 CDN 脚本文件。
  • CDN 没问题。您在哪里访问那些基于 CDN 的标签?

标签: javascript reactjs webpack react-router localhost


【解决方案1】:

事实证明这是预期行为。加载脚本时,Google Places API 脚本会挂钩到现有 DOM。当我在页面中导航时,添加了一些 DOM,删除了一些。添加的 DOM 不会被 Places API “增强”,但我们重新加载页面,然后它不再从 index -> pageA 开始,它从 pageA 开始,并且页面 DOM 在 Google Places 加载之前已经生成

【讨论】:

    猜你喜欢
    • 2020-10-04
    • 2018-08-01
    • 1970-01-01
    • 2015-06-09
    • 2020-06-10
    • 2021-06-14
    • 2018-08-31
    • 2018-03-30
    • 1970-01-01
    相关资源
    最近更新 更多