React基础框架搭建5-路由配置:react+router+redux+axios+Tailwind+webpack

复制代码
npm install react-router-dom

1、创建文件

在 src 目录下创建一个 router 文件夹,并在其中创建 AppRouter.jsx 文件

复制代码
//src/router/AppRouter.jsx

import React from 'react';
import { BrowserRouter as Router, Route, Routes } from 'react-router-dom';
import Home from '../views/Home/Home'; // 事例页面
import About from '../views/About/About'; // 事例About组件

const AppRouter = () => {
    return (
        <Router>
            <Routes>
                <Route path="/" element={<Home />} />
                <Route path="/about" element={<About />} /> 
                {/* 其他路由 */}
            </Routes>
        </Router>
    );
};

export default AppRouter;

2、 创建示例页面

在 src/views 目录下创建 Home 文件夹,并在其中创建 Home.jsx 文件

复制代码
//src/views/Home/Home.jsx

import React from 'react';
import { Link } from 'react-router-dom';

const Home = () => {
    return (
        <div>
            <h1>欢迎来到 ReactBase 框架</h1>
            <p>这是一个基于 React 的前端框架示例。</p>
            <br />
            <hr />
            <br />
            <Link to="/about">
                <button>前往关于页面</button>
            </Link>
        </div>
    );
};

export default Home;

Home添加样式版本:

复制代码
import React from 'react';
import { Link } from 'react-router-dom';

const Home = () => {
    return (
        <div className="flex flex-col items-center justify-center h-screen">
            <h1 className="text-4xl font-bold">欢迎来到 ReactBase 框架</h1>
            <p className="mt-4 text-lg">这是一个基于 React 的前端框架示例。</p>
            <br />
            <Link to="/about">
                <button className="mt-4 px-4 py-2 bg-blue-500 text-white rounded">前往关于页面</button>
            </Link>
        </div>
    );
};

export default Home;

在 src/views 目录下创建 About 文件夹,并在其中创建 About.jsx 文件

复制代码
//src/views/About/About.jsx

import React from 'react';

const About = () => {
    return (
        <div>
            <h1>关于我们</h1>
            <p>这是关于页面的内容。</p>
        </div>
    );
};

export default About; 

3、引入 Redux Store 和路由组件

更新src/index.js

复制代码
import React from 'react';
import ReactDOM from 'react-dom/client';
import { Provider } from 'react-redux';
import store from './store';
import AppRouter from './router/AppRouter';
import './index.css';
import reportWebVitals from './reportWebVitals';

const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
  <React.StrictMode>
    <Provider store={store}>
      <AppRouter />
    </Provider>
  </React.StrictMode>
);

reportWebVitals();
相关推荐
LinXunFeng32 分钟前
Obsidian - 使用 Share Note 分享笔记并自部署
前端·笔记·github
乘风gg4 小时前
为什么AI 时代来临,大部分人吃不到红利
前端·ai编程·claude
恋猫de小郭5 小时前
Android 限制侧载新进展,谷歌联合国内厂商推验证计划
android·前端·flutter
IT_陈寒5 小时前
Redis内存爆了,原来我漏掉了这个致命配置
前端·人工智能·后端
恋猫de小郭5 小时前
解读 Android 17 全新内存限制,有没有“豁免”后门?
android·前端·flutter
Hyyy6 小时前
理解LLM的基本工作原理:预训练、微调、推理的区别
前端
Gatlin7 小时前
前端逆向与反逆向:一场猫鼠游戏的底层逻辑与实战
前端
代码煮茶7 小时前
React 组件封装方法论 —— 以 Todo App 为例
javascript·react.js
Pedantic7 小时前
本地通知(Local Notifications)学习笔记
前端
森蓝情丶7 小时前
我给 AI 搭了个法庭:一个前端仔的 LangGraph 实战全记录
前端·后端