2016-02-23 208 views
1

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

我所有的其他路线工作正常。不幸的是,所有的文档似乎使用静态,其次是动态路由参数,而不是其他方式。

这里是我的路线:

<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> 
+0

当您直接刷新或访问它们时,其他路线是否正常工作?我认为你需要创建一个服务器路由,为您的反应应用程序提供服务,并知道处理任何url,而不仅仅是根url。也许检查这个答案,看看它是否你需要:http://stackoverflow.com/questions/16579404/url-rewriting-with-expressjs。此外,您还需要确保在“服务器端”使用babel,因为该错误听起来像JSX在服务器上无法识别 –

+0

我的所有其他路径都正常工作。我在我的快递服务器上抓取所有路线,将其重定向到提供我的捆绑包的索​​引页面。我即将结束我的项目。这是我遇到的第一个问题。 – razzdango

+0

感谢您的帮助。我能弄明白。 – razzdango

回答

5

我想通了。我需要在我的index.html文件夹和css文件之前放置一个/。在我的其他路线上我没有问题,因为他们是顶级路线,但是一旦我转入嵌套路线,我就失去了对静态资产的引用。

+0

我没有嵌套的路线,但我必须去一个param的路线,它打破了,但这个'/'它的工作。谢谢! –

+0

很高兴帮助你!快乐的编码! – razzdango