欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 国际 > React学习笔记14

React学习笔记14

2025/3/14 23:32:49 来源:https://blog.csdn.net/weixin_43852780/article/details/146172942  浏览:    关键词:React学习笔记14

一、使用vite创建项目

npm create vite 项目名

创建之后运行

npm i
npm run dev

二、按照业务规范整理项目目录(重点src目录)

下面是各个文件夹的作用 

三、安装SCSS

在Vue开发中SCSS非常的常用,在CRA项目中如何接入SCSS呢?和Vue中一样:

npm install sass -D

 然后将项目中的css文件改为scss文件(后缀)

四、安装Ant Design

Ant Design是蚂蚁金服出品的社区使用最广的React PC组件库,内置了常用的现成组件,和element Plus是同类型的东西

npm install antd --save

安装完成之后修改src/App.js,引入antd的按钮组件

import React from 'react';
import { Button } from 'antd';const App = () => (<div className="App"><Button type="primary">Button</Button></div>
);export default App;

五、配置基础路由Router

安装路由包

npm install react-router-dom

创建路由结构

import Login from '../pages/Login'
import {createBrowserRouter} from 'react-router-dom'const router = createBrowserRouter([{path:'/',element:<Login></Login>}
])export default router

router>index.jsx

 六、封装request请求模块

import axios from 'axios'const request = axios.create({baseURL:'',timeout:5000
})// 添加请求拦截器
// 在请求发送之前做拦截,插入自定义配置[参数的处理]
request.interceptors.request.use((config)=>{return config
},(error)=>{return Promise.reject(error)
})// 添加响应拦截器
request.interceptors.response.use((response)=>{// 状态码为2xx的触发该函数return response.data
},(error)=>{// 状态码不是2xx的触发该函数return Promise.reject(error)
})export {request}

utils>request.jsx

在index.jsx中统一导出

import {request} from './request'export {request
}

 utils>index.jsx

七、Redux的配置

安装

npm i react-redux @reduxjs/toolkit

创建文件结构

import { createSlice } from '@reduxjs/toolkit'const userStore = createSlice({name: "user",initialState: {token: ''},reducers: {setToken(state, action) {state.token = action.payload}}
})// 解构
const {setToken}=userStore.actions// 获取reducer函数
const useReducer = userStore.reducerexport {setToken}export default useReducer

 store>modules>user.jsx

// 组合Redux子模块
import {configureStore} from '@reduxjs/toolkit'
import userReducer from './modules/user'export default configureStore({reducer:{user:userReducer}
})

store>index.jsx

绑定至组件

import { StrictMode } from 'react'
import { createRoot } from 'react-dom/client'
import './index.css'
import { RouterProvider } from 'react-router-dom'
import router from './router'
import { Provider } from 'react-redux'
import store from './store'createRoot(document.getElementById('root')).render(<StrictMode><Provider store={store}><RouterProvider router={router}></RouterProvider></Provider></StrictMode>,
)

src>main.jsx

下一章:项目打包与打包优化

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词