当前位置: 首页 > news >正文

@reduxjs/toolkit 报错,解决

项目场景:

使用redux存储状态,写一个reducer

问题描述

报错:Uncaught Error: A case reducer on a non-draftable value must not return undefined

在这里插入图片描述

import { createSlice } from "@reduxjs/toolkit";
//错误写法
const counterSlice = createSlice({
    name: 'countNumTwo',
    initialState: 0,
    reducers: {
        increment(state) {
            state++;
        },
        decrement(state){
            state--;
        },
    }
})
export const { increment, decrement } = counterSlice.actions;
export default counterSlice.reducer;

原因分析:

createSlice 里的initialState属性,只能传对象object

解决方案:


import { createSlice } from "@reduxjs/toolkit";

// 正确写法:
const counterSlice = createSlice({
    name: 'countNumTwo',
    initialState: {
        value:0
    },
    reducers: {
        increment:state=> {
            state.value+=1;
        },
        decrement:state=> {
            state.value-=1;
        },
    }
})


export const { increment, decrement } = counterSlice.actions;
export default counterSlice.reducer;

相关文章:

  • CF每日5题(1300-1500)
  • M-CTC-T: 面向大规模多语言语音识别的伪标签技术
  • 前后端分离下,Spring Boot 请求从发起到响应的完整执行流程
  • wordpress可视化数据采集Scrapes插件,WP博客网站自动采集发布
  • Python 匿名函数(Lambda函数)
  • kmpmanacher
  • 001 vue
  • 从零开始:在Qt中使用OpenGL绘制指南
  • 前向传播、反向传播
  • PDF处理控件Aspose.PDF教程:在Python、Java 和 C# 中旋转 PDF 文档
  • 无限滚动(Infinite Scroll)页面谷歌不收录!必须改回分页吗?
  • FastAPI依赖注入:链式调用与多级参数传递
  • Data_Socket和UDP_Socket
  • 【51单片机】3-3【定时器/计数器/中断】超声波测距模块测距
  • 传值、传址、传引用
  • 0基础 | 硬件 | 电源系统 一
  • LeetCode 1863.找出所有子集的异或总和再求和
  • [Windows] XHS-Downloader V2.4 | 小红书无水印下载工具 支持多平台批量采集
  • 最新版本尚硅谷硅谷甄选1-40集问题解析汇总
  • docker初始环境搭建(docker、Docker Compose、portainer)