笔记--React 路由基础

本文详细介绍了React Router的基础用法,包括导入核心组件、创建组件、配置路由入口和出口。通过实例展示了如何进行编程式导航,如使用`history.push`进行页面跳转和`history.go(-1)`返回上一页。此外,还提及了默认路由的概念,以及模糊匹配和精确匹配的路由模式。
摘要由CSDN通过智能技术生成

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 精确匹配

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值