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中使用全局数据。


目录
相关文章
|
数据可视化 索引
数据可视化之antv/g6 元素之边(edge)
数据可视化之antv/g6 元素之边(edge)
2200 0
|
9月前
|
前端开发 JavaScript
CSS 过渡和动画
CSS过渡和动画是用于为网页元素添加动态效果的两种重要技术
488 143
|
前端开发 JavaScript UED
【专栏】CSS Modules是一种将CSS与模块系统结合的技术,解决传统CSS管理中的全局样式污染和可维护性问题
【4月更文挑战第29天】CSS Modules是一种将CSS与模块系统结合的技术,解决传统CSS管理中的全局样式污染和可维护性问题。它提供局部作用域、模块隔离和自动生成唯一类名,保证样式安全性。与现有CSS语法兼容,且与React、Vue等现代框架集成良好,支持动态样式和主题切换。通过引入CSS Modules,开发者能提升代码的可维护性、可读性和稳定性。了解和使用CSS Modules对于前端开发至关重要。
444 2
|
域名解析 网络协议 应用服务中间件
nginx server_name配置文件覆盖不生效
nginx server_name配置文件覆盖不生效
|
前端开发 JavaScript
umi 中useSearchParams 的使用样例
在umi中,`useSearchParams`是一个React Hook,用于获取和操作URL查询参数。以下是一个使用`useSearchParams`的样例: 首先,确保你已经安装了umi和react-router-dom。 1. 在页面组件中使用`useSearchParams`来获取和操作URL查询参数: ```javascript import { useSearchParams } from 'umi'; export default function SearchPage() { const [searchParams, setSearchParams] = useSea
1527 2
|
前端开发 JavaScript
使用 JavaScript 获取 URL 参数的详细指南
【2月更文挑战第26天】
14645 2
使用 JavaScript 获取 URL 参数的详细指南
2022年最新IDEA激活教程,亲测有效(免费分享IDEA激活码、IDEA注册码)
最近新换了电脑,IDEA需要重新激活,分享一下我的激活经验
37262 2
2022年最新IDEA激活教程,亲测有效(免费分享IDEA激活码、IDEA注册码)
|
缓存 前端开发 JavaScript
React 状态管理工具:我是这样选择的
React 状态管理工具五花八门,dva、mobx、recoil、zustand。换做是你,你会怎么选呢?选择一个合适的状态管理工具,对项目研发是至关重要的,来看看我的选择方案吧
30311 25
React 状态管理工具:我是这样选择的
|
人工智能 自然语言处理 安全
通义大模型点亮“丝路”
通义大模型点亮“丝路”
391 0
|
JavaScript 前端开发 算法
【Node.js 版本过高】运行前端时,遇到错误 `Error: error:0308010C:digital envelope routines::unsupported`
【Node.js 版本过高】运行前端时,遇到错误 `Error: error:0308010C:digital envelope routines::unsupported`
8866 0