2016-11-28 79 views
0

我有一个静态路由list和动态user/:id。 在2页之间导航出现问题(1)user/:id导航到list时,它将其作为user/list附加。 (2)刷新页面user/:id时,我得到Uncaught SyntaxError: Unexpected token < jquery-3.1.1.min.js:1,这打破了所有样式。了解反应路由器参数

如果我要导航到的路线是list,我该如何告诉路由器不要追加?

为什么在刷新没有动态路由时抛出jQuery SyntaxError?

import React, { Component } from 'react'; 
import { Router, Route, browserHistory, indexRoute } from 'react-router'; 

import Root from './components/Root'; 
import Home from './components/Home'; 
import ComponentA from './components/ComponentA'; 
import ComponentB from './components/ComponentB'; 

class App extends Component { 
    render() { 
    return (
     <Router history={browserHistory}> 
      <Route path="/" component={Root}> 
      <indexRoute component={Home} /> 
      <Route path="list" component={ComponentA} /> 
      <Route path="users/:id" component={ComponentB} /> 
     </Route> 
     </Router> 
    ); 
    } 
} 

export default App; 

编辑:我发现these answers建议增加type="text/jsx"src。当我这样做,我现在没有得到syntaxError,但js(菜单下拉菜单,模式等)代码只是不工作。

... 
    <script type="text/jsx" src="./jquery/jquery-3.1.1.min.js"></script> 
    <script type="text/jsx" src="./bootstrap/js/bootstrap.min.js"></script> 
    <script type="text/jsx" src="./custom.js"></script> 
    </body> 
+0

? –

+0

@JoshuaTerrill我正在使用'“react-router”:“^ 2.8.1”' –

回答

1

很有可能您的链接没有正确定义。您可能错过了一个/,告诉路由器您正尝试重置路径。

<Link to="/link" /> 

代替

<Link to="link" /> 
您正在使用什么版本的反应路由器的
+0

谢谢。解决了第一个问题。对第二个问题有什么建议? –

+0

是的,你的路由被定义为错误..你错过了/你的动态路径的路径 –

+0

对不起,这是一个错字(更新后),我没有/在路由中,因为据我所知,如果你嵌套路线 - 父母是' - 所有子路由将具有/来自基本父路由。不是吗? ...但我试过/它仍然会引发syntaxError。 –