ts 中使用 configureStore 配置中间件 (toolkit v2.2.5)

问题描述:

在 toolkit v1 中,使用 configureStore 配置中间件的方法是在 middleware 选项中以数组的方式安装中间件,如下:

// store - typescript
import { configureStore, combineReducers} from "@reduxjs/toolkit";
import reduxThunk from "redux-thunk";
import reduxPromise from "redux-promise";
// other import...

export const store = configureStore({
	reducer: persistReducerConfig,
	middleware: [reduxThunk, reduxPromise],
	devTools: true
});

但在 toolkit v2.2.5 版本中,上诉写法会出现报错:

不能将类型“any[]”分配给类型“(getDefaultMiddleware: GetDefaultMiddleware<{ global: GlobalState; } & PersistPartial>) => Tuple<[ThunkMiddleware<S, UnknownAction>]>”。
类型“any[]”提供的内容与签名“(getDefaultMiddleware: GetDefaultMiddleware<{ global: GlobalState; } & PersistPartial>): Tuple<[ThunkMiddleware<S, UnknownAction>]>”不匹配。ts(2322)

解决方法:

查看官网后(getDefaultMiddleware | Redux Toolkit),将写法修改如下:

// typescript
import { configureStore, combineReducers, Tuple } from "@reduxjs/toolkit";
import { thunk } from "redux-thunk";
import reduxPromise from "redux-promise";
// other import...

export const store = configureStore({
    reducer: persistedReducer,
    devTools: true, // 是否开启开发者工具,默认true
    // 配置中间件
    // 方法一
    middleware: () => new Tuple(thunk, reduxPromise),
    // 方法二
    // middleware: (getDefaultMiddleware) => getDefaultMiddleware().concat(thunk).concat(reduxPromise),
});

补充: 一文搞定react中redux状态管理及使用,redux、reduxjs/toolkit、redux-persist持久化入门

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值