Uncaught Error: “reducer“ is a required argument, and must be a function or an object of functions

// 导入redux - 并解构出创建store的函数 - createStore
import {configureStore} from '@reduxjs/toolkit'

// 定义源数据
const state = {
    name: '张三',
    age: 12
}

// 定义reducer - 修改state数据的纯函数 - 修改就需要依赖 state的副本 和 action,这个函数是需要两个参数
// 语法
// const reducer = (state的副本, action规则) => {

//     return 新的副本
// }

// 将state赋值给newState, 在redux内部会帮我们处理一个深拷贝操作,保证newState和state数据一致,但不是同一个地址
const reducer = (newState = state, action) => {
    // 待处理
    if(action.type === 'zizeng') {
        newState.age = state.age + action.num
    }
    // 返回新的副本
    return newState
}
console.log(typeof(reducer));//function
// 创建仓库 - 调用createStore函数,将reducer当参数传递进去
const store = configureStore(reducer, window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__())

// 导出仓库
export default store

        在执行上面这段代码时报错reducer必须为函数或者对象,但是log出来我的reducer就是个函数。

  

         加个大括号解决,大意了,下不为例。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值