[英]Typescript: declare ReturnType for all functions in a file (how to create a redux action type)
我想为文件中的所有函数创建一个ReturnType
。
例如,对于 redux 操作文件:
// files.actions.ts
export const setFiles = (files: IFile[]) => ({
type: FILES_ACTION_TYPE.SET_FILES,
payload: files,
});
export const clearFiles = () => ({
type: FILES_ACTION_TYPE.CLEAR_FILES,
payload: undefined
});
export type FilesAction = ReturnType<typeof clearFiles | typeof setFiles>
有没有一种优雅的方式来拥有所有函数的类型,而无需手动编写每个函数?
虽然这不是您问题的直接答案:
我们特别建议不要手动编写动作创建器。 相反,您应该使用我们官方 Redux 工具包 package 中的 createSlice API createSlice
因为它会自动为您生成动作创建者。 它也已经用 TS 编写,并确保正确键入动作创建者以匹配减速器。
与此相关,我个人认为尝试定义可以调度的所有动作的联合类型或限制可以传递给dispatch
的动作集并没有真正的好处。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.