2016-11-28 117 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。 –