找了好久都沒有找到最新版的中文文檔 v5.1.2。。。
入口文件 src/index.js
import React from 'react'; import ReactDOM from 'react-dom'; import './index.css'; import AppRoute from './AppRoute'; import * as serviceWorker from './serviceWorker'; ReactDOM.render(<AppRoute />, document.getElementById('root')); serviceWorker.unregister();
路由表 src/AppRoute.js
import React,{Component} from 'react';
import {
HashRouter,
BrowserRouter as Router,
Switch,
Route,
Link
} from "react-router-dom";
import App from './page/App';
import Test from './page/Test';
import NotFound from './page/NotFound';
class AppRoute extends Component{
constructor(props){
super(props);
this.state = {};
}
render() {
return <HashRouter>
<Switch>
{/* 首頁 */}
<Route path="/" component={()=>(
<App>
{/* 測試 */}
<Route exact path="/test" component={Test}/>
{/* 404頁面 */}
<Route path="*" component={NotFound}/>
</App>
)}>
</Route>
</Switch>
</HashRouter>
}
}
export default AppRoute;
首頁 src/page/App/index.js
import React,{Component} from 'react';
import LeftMenu from './components/LeftMenu';
import './index.scss';
class App extends Component{
constructor(props){
super(props);
this.state = {};
}
render() {
return <div className="body">
<div className="children-container">
{this.props.children}
</div>
</div>
}
}
export default App;
子頁面 Test(名字隨意)src/page/Test/index.js
import React,{Component} from 'react';
import './index.scss';
class Test extends Component{
constructor(props){
super(props);
this.state = {};
}
render() {
return <div className="container">
測試
</div>
}
}
export default Test;
使用參考鏈接的代碼,出現了錯誤,提示router需要傳入字符串或函數,修改為本文中的代碼即可實現嵌套路由
參考:在React中使用react-router-dom路由 https://www.jianshu.com/p/8954e9fb0c7e
