redux-thunk ts(typescript)类型检查报错,通过不了

383 阅读1分钟

错误原因

在这里插入图片描述

分析原因: 在dispatch的时候,dispatch的默认类型是必须包含一个 type属性的plian object 如下图:
在这里插入图片描述

在这里插入图片描述
所以代码是对的,但是类型就是不匹配。

解决办法:

方法一

既然 typescript 给我带来的麻烦,那我就不使用类型检查,一切any就行了

效果

在这里插入图片描述

方法二:

我们使用ts的目的就是未来获取类型检查的,我怎么可能把 typescript 变成 anyscript

redux-thunk 默认给我们导出了两个类型
在这里插入图片描述

  • ThunkAction: 处理action 返回函数的类型,总共有4个泛型参数。
    泛型参数类型,

    1. 第一个参数:返回值的类型
    2. 第二个参数:跟的state类型
    3. 第三个参数:额外参数的类型
    4. 第四个参数:下面需要进行分发action创建函数的类型
  • ThunkMiddleware:处理中间件的类型,总共有3个泛型参数。
    参数类型:

    1. 第一个参数: 跟的state的类型
    2. action的类型
    3. 额外参数的类型

样例:

在这里插入图片描述

在这里插入图片描述

结果

在这里插入图片描述