今天這個問題找了好久,終於找到為什麼了,我們在百度上搜這個問題基本上只有一個答案點擊開啟連結
其實不是說人家回答的不對,只是比較含糊,看截圖:
其實答案就是這樣的,當我們在用react-router的時候,react-router的思想就是讓我們<Link/>寫成一個單獨的組件Navigation.js,然後import進來,通過 this.props.children 傳遞給各路由。然後呢在根路由中添加組件建立關聯性。即
<Router history={browserHistory}>
<Route path="/" component={Navigation}>
<Link to="/one">首頁</Link>
<Route path="/one" component={OneComponent}/>
<Route path="/two" component={TwoComponent}/>
<Route path="/three" component={ThreeComponent}/>
</Route>
</Router>
切記:一定要在這個根路由中建立關聯,否則一直會報剛剛那個神魔的錯誤 < Route path = "/" component={Navigation} ></Route>
自然而然的我們就可以想到Navigation.js是什麼東西了,
import React, { Component } from 'react';import { Link } from 'react-router';export default class AppContainer extends Component { render(){ return ( <div> <div> <Link to="/one">One</Link> <Link to="/two">Two</Link> <Link to="/three">Three</Link> </div> <div> {this.props.children} </div> </div> ) }}
老夫一直嘗試著將這個檔案和Router寫到一塊去,但是貌似3.0版本是不行的,但是4.0經過該改版是真心可以這樣的... ...