使用typesafe操作创建异步操作,请求不需要参数。
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'.
发布于 2020-07-21 13:43:40
其原因是在tsconfig (或"strict": true)中缺少了"strict": true规则。
在严格的空检查模式下,空值和未定义值不在每种类型的域中,只能分配给自己和任何类型(唯一的例外是未定义的值也可分配为无效)。
这可能是由于第二部分:“--唯一的例外是,未定义的也可指定为无效”。如果没有这条规则,type expects在传递类型PayloadMetaActionCreator时期望EmptyActionCreator而不是undefined,因此返回一个错误。
编辑:这并不理想,但针对这种情况的另一种解决方案是使用替代语法:
export const testAsync = createAsyncAction(
"TEST_REQUEST",
"TEST_SUCCESS",
"TEST_FAILURE"
)<[undefined, undefined], string, Error>();https://stackoverflow.com/questions/63015884
复制相似问题