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

[react] 优雅解决typescript动态获取redux仓库的类型问题

store.getState()是可以获取总仓库的

先拿到函数的类型

再用ReturnType<T>

它是 TypeScript 中的一个内置条件类型,用于获取某个函数类型 T 的返回值类型

代码

    // 先拿总仓库的函数类型
    type StatefuncType = typeof store.getState;
    //再拿函数类型T的返回值类型
    type StateType = ReturnType<StatefuncType>;
    const counter = useSelector((state: StateType) => {
        return state.couterSlice;
    });

可以直接一步到位

    type StateType = ReturnType<typeof store.getState>;

也可以用这样

const a = store.getState();
    type a1 = typeof a;

还麻烦怎么办?我想在导入的时候自带类型呢?
用TypedUseSelectorHook 加自定义useSelector

参考:TypeScript 快速开始 | Redux 中文官网

import { configureStore } from '@reduxjs/toolkit';
import { useSelector, TypedUseSelectorHook } from 'react-redux';
import couterSlice from './modules/counter';

const store = configureStore({
    reducer: {
        couterSlice,
    },
});
export type storeType = ReturnType<typeof store.getState>;

export const useAppSelector: TypedUseSelectorHook<storeType> = useSelector;
export default store;

原文地址:https://blog.csdn.net/Madman528/article/details/144593285
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.kler.cn/a/445879.html

相关文章:

  • 图像处理|腐蚀操作
  • ubuntu 20.04 安装docker--小白学习之路
  • springboot+vue使用easyExcel实现导出功能
  • FreePBX 17 on ubuntu24 with Asterisk 20
  • 快速实现一个快递物流管理系统:实时更新与状态追踪
  • Photon最新版本PUN 2.29 PREE,在无网的局域网下,无法连接自己搭建的本地服务器
  • ES倒排索引
  • 全链路触达,Klaviyo 助力跨境电商打造数据驱动的智能化营销体验
  • 区间预测 | MATLAB实现QRDNN深度神经网络分位数回归时间序列区间预测
  • PDF无法打印!怎么办?
  • 数据结构_双向循环链表实战
  • 大数据:HDFS:特性、架构
  • C# 中的闭包
  • 【C++】C++中的lambda函数详解
  • Unity ECS和OOP优劣对比
  • 数据结构泛谈
  • git以及gitee仓库注册创建
  • 38.在 Vue 3 中使用 OpenLayers 导出地图为 PDF
  • C#.net CAD二次开发调试时进行日志记录并输出错误
  • 【Python】【数据分析】深入探索 Python 数据可视化:Plotly 绘图库全面解析
  • 使用LS-DYNA对秸秆进行切削仿真(记录版)
  • 免费开源!推荐一款网页版数据库管理工具!
  • edge_tts 实现实时流式语音播放输出
  • 安装指定版本的python这里以3.11为例子
  • 【Tomcat】第五站:Servlet容器
  • mfc140.dll是什么东西?mfc140.dll缺失的几种具体解决方法