react中简单的配置路由

1.安装react-router-dom

javascript 复制代码
npm install react-router-dom

2.新建文件

src下新建page文件夹,该文件夹下新建login和index文件夹用于存放登录页面和首页,再在对应文件夹下分别新建入口文件index.js;

src下新建router文件用于存放路由配置文件,该文件夹下新建入口文件index.js;

3.实现过程

3.1页面的编写

src/page/index/index.js

javascript 复制代码
function IndexPage() {
  return (
    <div>
      欢迎来到index
    </div>
  );
}

export default IndexPage;

src/page/login/index.js

javascript 复制代码
function LoginPage() {
  return (
    <div>
      欢迎来到login
    </div>
  );
}

export default LoginPage;

3.2路由文件配置

src/router/index.js

javascript 复制代码
// 1.引入方法,用于创建路由实例
import { createBrowserRouter } from 'react-router-dom' 

// 2.引入组件
import LoginPage from '../page/login';
import IndexPage from '../page/index';

// 3.创建router实例,配置路由
const router = createBrowserRouter([ 
  {
    path:"/login", // 路由路径
    element:<LoginPage></LoginPage> // 渲染页面的地方
  },
  {
    path:"/index",
    element:<IndexPage></IndexPage>
  },
  {
    path:"",
    element:<div>欢迎来到首页</div>
  }
])

// 4.暴露路由实例,用于在App.js主入口组件
export default router;

3.3路由绑定

javascript 复制代码
import React, { useState, useRef, useEffect, useContext, createContext } from 'react';
// 1.引入
import { RouterProvider } from 'react-router-dom'
import router from './router';



function App() {
  return (
    <div>
      {/* 2.绑定 */}
      <RouterProvider router={router}></RouterProvider>
    </div>
  );
}

export default App;

4.最终效果

相关推荐
lvbb663 分钟前
Vue 项目中基于后端权限的动态路由实现
前端·javascript·vue.js
LaughingZhu4 分钟前
PH热榜 | 2025-03-30
前端·数据库·人工智能·经验分享·mysql·搜索引擎·产品运营
计算机毕设定制辅导-无忧学长6 分钟前
HTML 与 SEO:提升网页可见性的学习进度与技巧(一)
前端·学习·html
知识分享小能手29 分钟前
CSS3学习教程,从入门到精通, 学院网站完整项目 - HTML5 + CSS3 实现(25)
前端·javascript·css·学习·css3·html5·前端项目
Moment1 小时前
终于搞懂了!Source Map 是如何让你定位打包后代码的?💥 💥 💥
前端·javascript·webpack
yang_love10111 小时前
Webpack vs Vite:深度对比与实战示例,如何选择最佳构建工具?
前端·webpack·node.js
好_快1 小时前
Lodash源码阅读-keysIn
前端·javascript·源码阅读
好_快1 小时前
Lodash源码阅读-nativeKeysIn
前端·javascript·源码阅读
好_快1 小时前
Lodash源码阅读-baseKeysIn
前端·javascript·源码阅读
Good luck—dys1 小时前
VUE如何后端控制及动态路由详细讲解
前端·javascript·vue.js