1. React 路由介绍
2. 路由的基本使用
2.1 使用步骤
// 导入路由的三个核心组件:Router/Route/Link
import React from "react";
import ReactDOM from "react-dom";
import { BrowserRouter as Router, Route, Link } from "react-router-dom";
// 创建组件
const First = () => <h1>页面一的内容</h1>;
// 使用Router组件包裹整个应用
class App extends React.Component {
render() {
return (
<Router>
<div>
<h1>我是一个大傻逼</h1>
{/* 指定路由入口 */}
<Link to="/first">页面一</Link>
{/* 指定路由出口 */}
<Route path="/first" component={First}></Route>
</div>
</Router>
);
}
}
// 渲染
ReactDOM.render(<App />, document.querySelector("#root"));
2.2 常见组件说明
3. 路由的执行过程
4. 编程式导航
// 导入
import React from "react";
import ReactDOM from "react-dom";
import { BrowserRouter as Router, Route, Link } from "react-router-dom";
// 创建组件
class Login extends React.Component {
handerLogin = () => {
// 使用编程式导航
this.props.history.push("/home");
};
render() {
return (
<div>
<h1>登陆界面</h1>
<button onClick={this.handerLogin}>登录</button>
</div>
);
}
}
const Home = (props) => {
const handerBack = () => {
// go(-1)表示返回上一个页面
props.history.go(-1);
};
return (
<div>
<h1>后台首页</h1>
<button onClick={handerBack}>返回登陆页面</button>
</div>
);
};
// 默认组件
const Index = () => {
return (
<div>
<h1>默认路由</h1>
</div>
);
};
const App = () => (
<Router>
<div>
<p>编程式导航</p>
<Link to="/login">去登陆页面</Link>
{/* 制定路由规则 */}
{/* 默认路由 */}
<Route path="/" component={Index} />
<Route path="/login" component={Login}></Route>
<Route path="/home" component={Home}></Route>
</div>
</Router>
);
// 渲染
ReactDOM.render(<App />, document.getElementById("root"));
5. 默认路由
6. 匹配模式
6.1 模糊匹配模式
6.2 精确匹配