【问题标题】:React Router not Rendering Components with Variable ParamsReact Router 不使用可变参数渲染组件
【发布时间】:2020-05-04 23:16:17
【问题描述】:

我正在构建一个投资组合页面,并使用 Create-react-app 以及节点服务器来处理 API 调用。

在开发中一切正常,我开始部署应用程序。这是我的第一次全面部署,而且……很有趣。我解决了大多数问题,但我在解决最后一个问题时遇到了问题,这与我网站上的博客有关。博客路由设置如下: <Route path="/blogposts/:slug" component={BlogPost}/> 好吧,我唯一拥有 atm 的博客(应该在 /blogposts/how-i-built-this-site 提供服务)返回一个空白页面,即我的 index.html 文件。

最简单的解决方案可能是链接 github,而不是粘贴一些代码,因为这是一个相当大的项目(对我来说)。

这里是github: https://github.com/lotg515/portfolio

如果需要更多信息,请告诉我。如果有人知道这一点,他们就是我的英雄!

【问题讨论】:

  • 它在开发中效果很好,但在产品中不行?您使用的是哪个网络服务器?
  • Heroku,Heroku 本地网站。使用 Nodemon,它运行良好,可以渲染博客。
  • 谢谢,这个信息很有帮助。但是,我认为我应该更具体地说明我的问题-当我在 dev 中使用代理时,路由工作正常。现在我的 index.html 由 express 服务器提供服务,我所有的 API 调用都可以正常工作,但是带有可变参数的路由不会呈现,它没有被正确路由。

标签: node.js reactjs express deployment react-router


【解决方案1】:

我认为你需要用 Switch 组件包装你的路由。

<Switch>
   <Route ....>
</Switch>

【讨论】:

  • 感谢您的建议,我尝试使用 Switch 组件封装路由,但没有解决问题。这个真的让我摸不着头脑!
【解决方案2】:

通过添加 index.html 文件解决了这个问题。

仍然不知道为什么会出现此问题,可能与 Othka 有关。无论哪种方式,它现在都已修复,这对我来说是一个胜利。

【讨论】:

    猜你喜欢
    • 2018-01-07
    • 2019-10-31
    • 2018-09-20
    • 1970-01-01
    • 1970-01-01
    • 2016-11-05
    • 2018-02-10
    相关资源
    最近更新 更多