umi中使用redux(@reduxjs/toolkit)

简介: umi中使用redux(@reduxjs/toolkit)

前言


这篇文章可以让你学会如何在umi3中配置使用redux


想必你已经搭好了umi框架,废话不多说,直接上教程


以下是正文


一、安装关于redux的第三方库


安装两个第三方库,用npm或yarn都可


tyarn add react-redux @reduxjs/toolkit


二、配置


1、创建store文件夹index文件


a2bc185c1673c362fad5f731880763db_abe5f405103e42f8a23b07096b1de990.png


代码如下:


import { configureStore } from '@reduxjs/toolkit';
import userReducer from './slices/userSlice';
export default configureStore({
  reducer: {
    user: userReducer,
  },
});


2、创建slice文件


8563515bb86c96aae983e595b2169b6e_f2ff15ed69d54a94a7f669120892c46a.png


创建配置好后,引入到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


807c0d28ae1ee4a9f87185a1a0a40c9d_0406b52ef4b649a3ad496c8baad64c87.png


注意注意注意注意注意:::::::::::


注意:这里的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、效果


最后附上效果


ea919733b2b3c1b1b3f8b63a2f9f33fb_3d0dd54e70f0474cb9dd8a07c5138282.gif


总结


以上就是在umi中使用redux的教程,不过在umi中有dva数据流插件,可以使我们在umi中使用全局数据。


目录
相关文章
umi项目中使用recoil替换dva
本文介绍使用recoil库来在umi项目中进行组件间的状态共享,部分替换dva的功能。
760 0
|
5月前
|
Web App开发 JavaScript 前端开发
react18【系列实用教程】搭建开发环境(2024版)Vite+React (官方推荐)(含@配置,react-developer-tools 和 Redux DevTools 下载安装)
react18【系列实用教程】搭建开发环境(2024版)Vite+React (官方推荐)(含@配置,react-developer-tools 和 Redux DevTools 下载安装)
316 1
|
7月前
|
设计模式 JavaScript API
依赖注入:使用provide/inject在Vue中管理依赖
【4月更文挑战第23天】Vue.js的依赖注入设计模式通过provide/inject API减少组件耦合,提高代码可维护性和测试性。provide选项在父组件中定义要共享的属性,inject则在子组件中接收这些属性。依赖注入适用于跨组件数据共享、插件开发和高阶组件。然而,应谨慎使用以保持代码清晰。
46 2
|
7月前
|
JavaScript 前端开发
说说你对@reduxjs/toolkit的理解?和react-redux有什么区别?
@reduxjs/toolkit是一个Redux官方推荐的工具集,它的主要目的是简化和加速Redux开发流程,提供了一组工具和约定,以减少样板代码和提高开发效率。以下是对@reduxjs/toolkit的理解以及它与react-redux之间的区别:
159 0
|
7月前
|
开发框架 资源调度 前端开发
Umi框架
Umi框架
326 0
umi中@umijs/plugin-dva的使用,及实现一套增删改
符合以下规则的文件会被认为是 model 文件: • src/models 下的文件 • src/pages 下,子目录中 models 目录下的文件 • src/pages 下,所有model.ts 文件(不区分任何字母大小写)
396 0
【Vue3 第十八章】依赖注入 Provide/Inject
【Vue3 第十八章】依赖注入 Provide/Inject
68 0
dva和Umi中两个小用法
dva和Umi中两个小用法
218 0
|
JavaScript
【Vue 开发实战】基础篇 # 12:常用高级特性provide/inject
【Vue 开发实战】基础篇 # 12:常用高级特性provide/inject
101 0
【Vue 开发实战】基础篇 # 12:常用高级特性provide/inject
|
JavaScript
Redux 安装及使用
Store 收到 Action 以后,必须给出一个新的 State,这样 View 才会发生变化。这种 State 的计算过程就叫做 Reducer。
Redux 安装及使用