给我封装一个react路由
时间: 2023-05-24 14:03:54 浏览: 204
react-router:react-router 用法及封装路由权限验证高阶组件
A:好的,为您提供一个基本的React路由封装代码:
首先需要安装react-router-dom的依赖:
```
npm install react-router-dom
```
导入React、Router等依赖:
```
import React from 'react';
import { BrowserRouter as Router, Route, Switch } from 'react-router-dom';
```
创建路由组件:
```
const RouterComponent = () => {
return (
<Router>
<Switch>
<Route exact path="/" component={Home} />
<Route path="/about" component={About} />
<Route path="/contact" component={Contact} />
<Route path="/users/:id" component={Users} />
<Route path="*" component={NotFound} />
</Switch>
</Router>
);
};
```
注意其中:
- BrowserRouter负责监听浏览器的变化,并将对应url匹配到对应的Route
- Switch保证只会有一个Route匹配成功
- exact表示只有路径为"/"的时候,才会渲染Home组件
- 通过path='/users/:id'匹配路由参数:id
- path="*"渲染没有匹配到Route的NotFound组件
创建对应的组件:
```
const Home = () => <h2>Home</h2>;
const About = () => <h2>About</h2>;
const Contact = () => <h2>Contact</h2>;
const Users = ({ match }) => <h2>{match.params.id}</h2>;
const NotFound = () => <h2>Page not found</h2>;
```
最后通过RouterComponent的方式将路由放入整个App中:
```
function App() {
return (
<div className="App">
<RouterComponent />
</div>
);
}
export default App;
```
以上就是封装React路由的基本方式,您可以根据需要对其进行扩展。
阅读全文