我redux-toolkit
最近在探索库,但是在createAction
如下所示的函数类型声明方面面临困难。
createAction
返回具有通用类型的PayloadActionCreator <ReturnType<PA>['payload'], T, PA>
。但是,这是什么意思ReturnType<PA>['payload']
呢?
export declare function createAction<PA extends PrepareAction<any>, T extends string = string>(type: T, prepareAction: PA): PayloadActionCreator<ReturnType<PA>['payload'], T, PA>
ReturnType<PA>['payload']
表示函数payload
返回的对象的属性prepare
-这是prepare
表示法的签名。
但是,这与您无关。通常的用法是const actionCreator = createAction<PayloadType>('some/action/type')
。
另一种符号是形式的准备符号createAction('some/action/type', (payload: string) => ({ payload, meta: {something: "foo"}})
。
通常,请参考API文档,其中包含TypeScript中几乎所有的用法示例。实际上,您所写的类型不应超过那里的类型。(是的,这不是很多类型,这很重要;))
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句