【问题标题】:React router: nesting static route within dynamic route refresh error反应路由器:在动态路由刷新错误中嵌套静态路由
【发布时间】:2016-06-05 18:26:53
【问题描述】:

我在 react-router 2.0.0-rc 中遇到 browserHistory 问题。我正在尝试通过对用户名使用 react-router 参数,然后是一个名为“edit”的嵌套静态路由来使编辑页面正常工作。当我使用 react-router 链接时,页面按预期加载,但是在手动输入 url 或刷新后,页面显示为空白并出现捆绑错误Uncaught SyntaxError: Unexpected token <

我所有的其他路线都可以正常工作。不幸的是,所有文档似乎都使用静态,然后是动态路由参数,而不是相反。

这是我的路线:

<Route path="/" component={App} onEnter={currentUserCheck}>
    <IndexRoute component={HomePage} />
    <Route path="/signup" component={SignupForm} />
    <Route path="/login" component={LoginForm} />
    <Route path="/chart" component={PollResult} />
    <Route path="/:username/edit" component={EditProfile}/>
    <Route path="/:username" component={ProfilePage}/>
    <Route path="*" component={NoMatch}/>
</Route>

【问题讨论】:

  • 刷新或直接访问其他路由是否正常工作?我认为您需要创建一个服务于您的反应应用程序并知道处理任何 url 的服务器路由,而不仅仅是根 url。也许检查这个答案,看看它是否是你需要的:stackoverflow.com/questions/16579404/…。此外,您需要确保在“服务器端”也使用 babel,因为该错误听起来像是服务器上无法识别 JSX
  • 我所有的其他路线都可以正常工作。我的快递服务器上有一条捕获所有路由,该路由重定向到我的捆绑包所在的索引页面。我的项目快结束了。这是我遇到的第一个问题。
  • 感谢您的帮助。我能弄明白。
  • 请在问题标题或正文中do not use "solved"
  • 好吧,我只是想让人们知道他们可以跳过它。它不会让我在 2 天内将答案标记为正确,唯一的另一个选择是删除它。

标签: reactjs react-router


【解决方案1】:

我想通了。我需要在我的 index.html 中的 bundle 和 css 文件之前放置一个/。我的其他路线很好,因为它们是顶级路线,但是一旦我向下移动到嵌套路线,我就失去了对静态资产的引用。

【讨论】:

  • 我没有嵌套路由,但我必须使用带参数的路由,它会中断,但使用 / 它可以工作。谢谢!
  • 很高兴它也帮助了你!编码愉快!
猜你喜欢
  • 2016-03-07
  • 2019-02-18
  • 2021-02-05
  • 1970-01-01
  • 2016-08-18
  • 1970-01-01
  • 1970-01-01
  • 2020-09-22
  • 2019-01-12
相关资源
最近更新 更多