首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >不需要任何参数的"createAsyncAction“请求返回TypeScript错误

不需要任何参数的"createAsyncAction“请求返回TypeScript错误
EN

Stack Overflow用户
提问于 2020-07-21 13:43:40
回答 1查看 925关注 0票数 1

使用typesafe操作创建异步操作,请求不需要参数。

代码语言:javascript
复制
import { createAsyncAction } from "typesafe-actions";

export const testAsync = createAsyncAction(
  "TEST_REQUEST",
  "TEST_SUCCESS",
  "TEST_FAILURE"
)<undefined, string, Error>();

返回Redux connect()方法中的一个connect()错误,即使它是相应地创建到文档中的:

Type 'PayloadMetaActionCreator<"TEST_REQUEST", unknown, unknown>' is not assignable to type '() => void'.

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-21 13:43:40

其原因是在tsconfig (或"strict": true)中缺少了"strict": true规则。

在严格的空检查模式下,空值和未定义值不在每种类型的域中,只能分配给自己和任何类型(唯一的例外是未定义的值也可分配为无效)。

这可能是由于第二部分:“--唯一的例外是,未定义的也可指定为无效”。如果没有这条规则,type expects在传递类型PayloadMetaActionCreator时期望EmptyActionCreator而不是undefined,因此返回一个错误。

编辑:这并不理想,但针对这种情况的另一种解决方案是使用替代语法:

代码语言:javascript
复制
export const testAsync = createAsyncAction(
  "TEST_REQUEST",
  "TEST_SUCCESS",
  "TEST_FAILURE"
)<[undefined, undefined], string, Error>();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63015884

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档