react-router-dom文档

2023-10-26

前言

本来体验下react-router的,然后

react-router npm查看,发现了官方的提示如下:

这个包为 React Router 提供了核心路由功能,但你可能不想直接安装它。如果您正在编写将在浏览器中运行的应用程序,您应该安装 react-router-dom。同样,如果您正在编写 React Native 应用程序,则应该安装 react-router-native。这两个都将安装 react-router 作为依赖项

也就是说如果想在react项目中添加路由功能,应该使用react-router-dom而不是react-router,直接使用最新版的react-router可能会报错

既然官方使用react-router-dom替代了react-router,那我们就学习一下怎么使用react-router-dom实现路由功能吧

快速开始

要在 Web 应用程序中开始使用 React Router,您需要一个 React Web 应用程序。如果您需要创建一个,我们建议您尝试Create React App。这是一个流行的工具,与 React Router 配合得非常好。首先,安装 create-react-app 并用它创建一个新项目

npx create-react-app demo-app
cd demo-app

安装

您可以使用 npm 或 yarn 安装 React Router。由于我们正在构建一个 Web 应用程序,因此我们将在本指南中使用 react-router-dom

npm install react-router-dom
npm run start

接下来,将以下任一示例复制/粘贴到 src/App.js。

第一个例子:基本路由

import React from "react";
import {
  BrowserRouter as Router,
  Switch,
  Route,
  Link
} from "react-router-dom";

export default function App() {
  return (
    <Router>
      <div>
        <nav>
          <ul>
            <li>
              <Link to="/">Home</Link>
            </li>
            <li>
              <Link to="/about">About</Link>
            </li>
            <li>
              <Link to="/users">Users</Link>
            </li>
          </ul>
        </nav>

        {/* <Switch>标签会渲染将匹配URL的第一个<Route>进行渲染,如果最前面的<Route>匹配了,
        后面的就不会渲染,所以对于path="/"的<Route>应该放在最后面,<Switch>相当于js里的switch */}
        <Switch>
          <Route path="/about">
            <About />
          </Route>
          <Route path="/users">
            <Users />
          </Route>
          <Route path="/">
            <Home />
          </Route>
        </Switch>
      </div>
    </Router>
  );
}

function Home() {
  return <h2>Home</h2>;
}

function About() {
  return <h2>About</h2>;
}

function Users() {
  return <h2>Users</h2>;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

react-router-dom文档 的相关文章

随机推荐

  • Java基础学习系列--(二)static关键字概述

    2 1 概述 以前我们定义过如下类 public class Student 成员变量 public String name public char sex 男 女 public int age 无参数构造器 public Student
  • 最新重磅!ChatGPT插件商店全开放!我发现了未来互联网的新入口

    四月初 当ChatGPT首次提出联网和插件计划并放出测试Demo的时候 曾着实让人们惊艳了一把 从当时的内部测试来看 ChatGPT不仅能够比搜索引擎更加智能地来帮你查找最新信息 还能够变身为 App Store 成为万能应用生态的总入口
  • 论文笔记 -- SOFT: Softmax-free Transformer with Linear Complexity

    文章目录 SOFT Softmax free Transformer with Linear Complexity Background Motivation 投影相关工作 Contribution Related work 对于自注意力矩
  • oracle 查询schema下的所有表, 字段, 和注解 的SQL

    oracle 查询schema下的所有表 字段 和注解 SELECT a TABLE NAME b column name c COMMENTS b data type b DATA LENGTH b NULLABLE FROM selec
  • Go语言基础【函数】

    函数 定义一个函数 func 函数名 形参列表 返回列表 函数体 函数有以下几种定义方式 第一种 func 函数名字 第二种 func 函数名字 返回值 return 返回值 第三种 func 函数名字 参数列表 第四种 func 函数名字
  • No suitable driver found for jdbc:mysql://127.0.0.1:3306 问题

    Exception in thread main java sql SQLException No suitable driver found for jdbc mysql 127 0 0 1 3306 at java sql Driver
  • athas热更新代码

    热更新 热更新有什么用 比如 生产环境有一个逻辑不小心写错了 导致资产损失 如果修改代码 重新发布到生产环境 需要的时间比较长 而且生产环境重启 也可能会影响到其他的用户 热更新 可以不用重启环境 修改代码对应的字节码 达到修改功能的目的
  • bert serving的简单使用(文本向量化)

    不涉及原理 只是快速开始使用 更详细的请参考官方文档 https bert as service readthedocs io en latest index html 文章目录 可用环境 1 下载预训练模型 2 安装python库 3 启
  • python没有main函数也可以_为什么Python没有main函数?,

    为什么Python没有main函数 我为什么也不推荐 毫无疑问 Python中没有所谓的主入口函数 但是互联网上经常有文章提到 Python的Main函数 和 建议编写Main函数 他们的目的可能是模仿真实的主要功能 但是许多人被误导 或误
  • 串的BF和KMP算法匹配

    BF代码 status Index BF SString S SString T int pos pos的作用确定起始查询位置 int i j i pos j 1 while i lt S length j lt T length if S
  • 刷脸支付科技的高速发展改变人们消费观念

    移动支付巨头支付宝及微信先后推出自己的刷脸支付产品 而从发布时间及命名上不难嗅到其中浓浓的火药味儿 而支付宝更是计划投入30亿资金 用于推广刷脸支付市场 在两大巨头竞争互相下 刷脸支付必然会像扫码支付一样得到快速普及 刷脸支付能够如此迅速地
  • BIOS Rootkit:Welcome home,my Lord!

    BIOS RootKit Welcome Home My Lord Author Icelord Contact icelord sohu com Data 2007 04 26 gt 本文介绍一个简单BIOS rootkit的简单设计过程
  • MFC对话框添加菜单栏

    1 解决方案资源管理器 资源文件 rc双击 转至资源视图 2 资源视图 右击 rc 添加资源 Menu 新建 图形化界面编辑 3 图形化编辑完成后 切换到目标对话框的头文件 Dlg h 在类的成员定义处添加一个CMenu变量 比如 4 切换
  • uni-app中scroll-view不触发@scrolltolower事件(某些机型)

    uni app中scroll view不触发 scrolltolower事件 某些机型 背景 uni app中scroll view中用 scrolltolower的时候需要设置lower threshold的值 a 当设置为10的时候 某
  • C#调用C/C++DLL的两种方法

    C 调用C C DLL的两种方法 前言 方法1 常用的DLLImport方法 方法2 CLR封装法 前言 工作中 需要给客户提供公司产品的 NET动态库 但驱动工程师往往只提供C编译的库 这里就需要我做一些中间工作 方便客户使用我们的产品
  • IDEA中 yml文件不提示 和 怎么隐藏springboot 创建的文件隐藏不需要的文件

    1 隐藏你要隐藏的文件 输入文件的名称就可以了 2 duiyml文件不提示的问题 3 对比两个java文件改了什么
  • webpack4 之 splitChunks

    webpack4 之 splitChunks 简介 主要作用是提取公共代码 防止代码被重复打包 拆分过大的js文件 合并零散的js文件 SplitChunks 插件的作用就是通过配置让 Webpack 去帮你提取公共代码 chunks we
  • Js的基础

    js的语法结构 1 js是区分大小写的 var username 张三 var userName 李四 document write username document write userName 2 js的标识符和命名规则 标识符 用来
  • 【hello Linux】线程概念

    目录 1 线程概念的铺设 2 Linux线程概念 2 1 什么是线程 2 2 线程的优点 2 3 线程的缺点 2 4 线程异常 2 5 线程用途 3 Linux进程VS线程 4 Linux线程控制 4 1 POSIX线程库 4 2 创建线程
  • react-router-dom文档

    前言 本来体验下react router的 然后 去react router npm查看 发现了官方的提示如下 这个包为 React Router 提供了核心路由功能 但你可能不想直接安装它 如果您正在编写将在浏览器中运行的应用程序 您应该