在本章中,我們將學習如何為應用程式設定路由。
安裝react-router
的簡單方法是在命令提示字元視窗中執行以下程式碼:
F:\worksp\reactjs\reactApp>npm install react-router
在專案的根目錄下建立.babelrc
檔案,並在.babelrc
檔案中新增以下程式碼 -
{
"presets": ["es2015", "react"]
}
建立一個檔案:index.html
在根目錄下,並使用以下的程式碼 -
<!DOCTYPE html>
<html lang = "en">
<head>
<meta charset = "UTF-8">
<title>React Router範例</title>
</head>
<body>
<div id = "app"></div>
<script type = "text/javascript" src = "bundle.js"></script>
</body>
</html>
要組態webpack.config.js
檔案,請在webpack.config.js
中新增以下程式碼 -
module.exports = {
entry: './app/main.js',
output: {
filename: 'bundle.js'
},
module: {
loaders: [
{
loader: 'babel-loader',
test: /\.js$/,
exclude: /node_modules/
}
]
},
devServer: {
port: 8080
}
};
現在,我們將新增路線到應用程式。 建立一個名為App的目錄,並建立檔案並命名為main.js
和App.js
。
檔案:main.js -
import React from 'react';
import { render } from 'react-dom';
import App from './App';
render(<App />, document.getElementById('app'));
檔案:App.js -
import React, { Component } from 'react';
import { BrowserRouter as Router, Switch, Route, Link } from 'react-router-dom';
import Home from './Home';
import Login from './Login';
class App extends Component {
render() {
return (
<Router>
<div>
<h2>Welcome to React Router Tutorial</h2>
<ul>
<li><Link to={'/'}>Home</Link></li>
<li><Link to={'/Login'}>Login</Link></li>
</ul>
<hr />
<Switch>
<Route exact path='/' component={Home} />
<Route exact path='/Login' component={Login} />
</Switch>
</div>
</Router>
);
}
}
export default App;
在這一步中,我們將在App目錄中建立兩個元件(Home)和(Login)。
檔案:Home.js -
import React, { Component } from 'react';
class Home extends Component {
render() {
return (
<div>
<h2>Home</h2>
</div>
);
}
}
export default Home;
檔案:Login.js -
import React, { Component } from 'react';
import ReactDOM from 'react-dom';
class Login extends Component {
render() {
return (
<div>
<h2>Login</h2>
</div>
);
}
}
export default Login;
當應用程式啟動時,我們將看到兩個可用於更改路由的連結。