前言
这篇文章可以让你学会如何在umi3中配置使用redux
想必你已经搭好了umi框架,废话不多说,直接上教程
以下是正文
一、安装关于redux的第三方库
安装两个第三方库,用npm或yarn都可
tyarn add react-redux @reduxjs/toolkit
二、配置
1、创建store文件夹index文件
代码如下:
import { configureStore } from '@reduxjs/toolkit'; import userReducer from './slices/userSlice'; export default configureStore({ reducer: { user: userReducer, }, });
2、创建slice文件
创建配置好后,引入到store的index文件中
代码如下:
import { createSlice } from '@reduxjs/toolkit'; export const counterSlice = createSlice({ name: 'user', initialState: { value: 1, }, reducers: { increment: (state) => { // Redux Toolkit 允许我们在 reducers 中编写 mutating 逻辑。 // 它实际上并没有 mutate state 因为它使用了 Immer 库, // 它检测到草稿 state 的变化并产生一个全新的基于这些更改的不可变 state state.value += 1; }, decrement: (state) => { state.value -= 1; }, incrementByAmount: (state, action) => { state.value += action.payload; }, }, }); // 为每个 case reducer 函数生成 Action creators export const { increment, decrement, incrementByAmount } = counterSlice.actions; export default counterSlice.reducer;
3、在入口文件中配置Provider
注意注意注意注意注意:::::::::::
注意:这里的app入口文件一定是要是js文件,否则会报错,导致项目运行跑不起来。
代码如下:
import React from "react"; import { Provider } from "react-redux"; import store from '@/store' export const rootContainer = (root) => { // console.log('rootrootrootroot', root, store); return ( <Provider store={store} > {root} < /Provider> ) }
4、效果
最后附上效果
总结
以上就是在umi中使用redux的教程,不过在umi中有dva数据流插件,可以使我们在umi中使用全局数据。