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

[react]redux异步处理和重写useDispatch

异步代码

import { createAsyncThunk, createSlice } from '@reduxjs/toolkit';
import { getBanner } from '../http/request';
import store from '@/store';
export const fetchBanner = createAsyncThunk(
    'recommend/banners',
    async (args, thunkAPI) => {
        const response = await getBanner();

        thunkAPI.dispatch(getBannerAction(response.data));
    },
);
const recommendStore = createSlice({
    name: 'recommend',
    initialState: {
        banners: [],
    },
    reducers: {
        getBannerAction(state, { payload }) {
            console.log('得到', payload);

            state.banners = payload.banners;
        },
    },
});
export const { getBannerAction } = recommendStore.actions;
export default recommendStore.reducer;

外面调用的是

  dispatch(fetchBanner());

但是ts会报错

类型“AsyncThunkAction<any, void, AsyncThunkConfig>”的参数不能赋给类型“UnknownAction”的参数。ts

这时候来到总仓库 把  dispatch改装一下

// dispatch
export type AppDispatch = typeof store.dispatch;
export const useAppDispatch = () => useDispatch<AppDispatch>();

 或者

type AppDispatch = typeof store.dispatch;
export const useAppDispatch: () => AppDispatch = useDispatch;

外面就可以用了,ts不会报错了

    useEffect(() => {
        dispatch(fetchBanner());
    }, []);


http://www.kler.cn/a/448538.html

相关文章:

  • 财会〔2024〕22号发布,全面提高管理会计数字化、智能化水平,泛微·齐业成来助力
  • useContext Hook 的使用及规范
  • Qt Quick:CheckBox 复选框
  • Android Studio IDE环境配置
  • JavaWeb期末复习(习题)
  • 【win10+RAGFlow+Ollama】搭建本地大模型助手(教程+源码)
  • 第十六周做题总结_数据结构_AVL与哈希查找
  • 借助Aspose.Cells ,删除 Excel 中的空白行和列
  • Pika Labs技术浅析(四):数据可视化
  • 自建MD5解密平台
  • 设计模式 -- 单例模式
  • en3d 部署笔记
  • leetcode刷题日记03——javascript
  • Excel设置生日自动智能提醒,公式可直接套用!
  • 如何使用 TypeScript 和 Jest 编写高质量单元测试
  • Y3编辑器教程6:触发器进阶案例
  • 本地高精度OCR!由GPT-4o-mini驱动的开源OCR!
  • 【C++】哈希表实现
  • ‌Elasticsearch(es)自定义分词器,根据特殊符号分词或分词后保留特殊符号
  • 计算机基础知识——数据结构与算法(五)(山东省大数据职称考试)
  • Redis——缓存预热+缓存雪崩+缓存击穿+缓存穿透
  • python学opencv|读取图像(十八)使用cv2.line创造线段
  • js导出Excel(图片大小,数据转换,导出后面添加现在的时间 )
  • Vue的响应式基础
  • Go 语言并发实战:利用协程处理多个接口进行数据融合
  • 常耀斌:深度学习和大模型原理与实战(深度好文)