首页 > 其他分享 >React中使用路由

React中使用路由

时间:2023-02-06 19:11:17浏览次数:41  
标签:使用 element React import router path pages 路由

 

安装:

npm install react-router-dom localforage match-sorter sort-by

 

声明router

当安装好路由后就需要在 main.js 中声明以便可以引入

import router from "./router"
//通过从 router 文件中的声明引入路由对象,供项目使用
import { RouterProvider } from 'react-router-dom'

let Root = ReactDOM.createRoot(document.getElementById('root') as HTMLElement)


Root.render(
    <Provider store={store}>
  <RouterProvider router={router} />
    </Provider>
)
  • RouterProvider :路由提供者 因为其绑定了router 文件(路由对象定义文件)所有可以访问到绑定了路由的文件

  • Provider是数据仓库提供者,此处可以先忽略

 

 

创建路由文件

在src下新建一个 router.tsx

  • 引入需要引入的路径

//引入base页面来展示视窗
import App from "./App";
//引入需要采用到的路由,
import { createHashRouter, redirect } from "react-router-dom";
//工具函数
import { isLogin } from "./until/index";

//引入页面
import Fast from "./pages/Fast";
import Home from "./pages/Home/Home";
import Login from "./pages/Login";
import User from "./pages/User";
import Register from "./pages/register";
import Toggle from "./pages/Toggle/Toggle"
  • 引入App.tsx的用处是提供一个视窗木页面来供给使用

  • 而工具函数 isLogin 的作用即为提供方法给路由守卫使用

 

编写路由

router.tsx 页面中

  • 我们声明一个 router对象,并且使用哈希路由模式进行跳转

  • 在文件末尾导出 router 以便 main.tsx可以拿到

const router = createHashRouter([
  {
       path: "/",
       element: <App />,
       children: [
          { index: true, element: <Home /> },
          { path: "login", element: <Login /> },
          { path: "register", element: <Register /> },
          { path: "fast", element: <Fast /> },
          { path: "user", element: <User />,},
          { path: "toggle", element: <Toggle /> },
      ]
}])

export default router
 

标签:使用,element,React,import,router,path,pages,路由
From: https://www.cnblogs.com/Dollom/p/17096461.html

相关文章

  • SpringBoot+MyBatis的动态SQL、使用动态SQL时List传值错误解决方案
    目录实现动态SQL的四种方式:1、XML配置2、脚本SQL3、在方法中构建SQL4、结构化SQL关于动态SQL的List传值错误问题1、错误代码2、解决错误实现动态SQL的四种方式:1、XML配置......
  • 使用popup.remove()仍然不能移除popup的原因
    今天遇到一个问题  添加完popup之后 想要移除popup,,然后使用popup.remove这个方法还是不管用,popup.remove()后还是会有一个空白的popup在页面上。博主高考语文不及格......
  • AJAX概念以及使用
    一、介绍AJAX1.AJAX全称为AsynchronousjavaScriptAndXML就是异步的JS和xml通过AJAX可以在浏览器中向服务器发送异步请求,最大优化:无刷新获取数据二、介绍XML(拓展XM......
  • SharedPreferences使用
    其他代码同,QQ登录<spanstyle="font-size:14px;">packagecom.itheima28.qqlogin.utils;importjava.io.BufferedReader;importjava.io.File;importjava.io.FileInputStr......
  • 函数式编程-Consumer 在实际环境的使用
    packagecom.example.springstudy.test.consumer;importcom.example.springstudy.entity.UserInfo;importjava.util.function.Consumer;/***@Author:GuoDong......
  • Select2的使用
    Select2的使用Select2是一款基于JQuery的下拉列表插件,主要用来优化select,支持单选和多选,同时也支持分组显示、列表检索、远程获取数据等众多好用的功能项目地址:https://s......
  • java 8 stream 使用及其技巧
    java8stream使用及其技巧 什么是流?先来看看Pig upms中的使用@Override@Transactional(rollbackFor=Exception.class)publicBooleansaveUs......
  • Java中Lambda表达式基础及使用
    目录一、举例说明1、无参无返回1.1定义一个接口1.2接口实现类1.3测试类2、有参无返回代码示例3、有参有返回二、简单事项1、省略模式2、注意事项三、L......
  • (转)「Golang」for range 使用方法及避坑指南
    原文:https://blog.csdn.net/qq_37005831/article/details/114296008前言循环控制结构是一种在各种编程语言中常用的程序控制结构,其与顺序控制结构、选择控制结构组成了程......
  • Spring AOP使用接口方式实现
    目录一.环境准备二、spring接口方式实现aop步骤1.业务接口实现2.业务类3.通知类4.自定义切##点5.配置xml文件6.方法入口三.分析Spring提供了很多的......