我尝试升级本课程的打字稿语法:https : //medium.com/@martin_hotell/improved-redux-type-safety-with-typescript-2-8-2c11a8062575。
我想从联合类型中获取特定类型。我有这样的语法:
Actions['type'][ActionTypes.FEED_CREATE_POST]
输入动作:
type Actions = IActionWithPayload<ActionTypes.FEED_CREATE_POST, {
text: string;
files: any;
}> | IActionWithPayload<ActionTypes.FEED_GET_NEWS, {
loadMore: boolean;
}>
财产种类':
(property) type: ActionTypes.FEED_GET_NEWS | ActionTypes.FEED_CREATE_POST
错误是:
Property 'FEED_CREATE_POST' does not exist on type 'ActionTypes.FEED_GET_NEWS | ActionTypes.FEED_CREATE_POST'.
有什么问题,我该如何解决?打字稿版本3.1.3
要从联合中获取特定类型,您不能使用类型查询,而需要使用条件类型 Extract
type FeedCreate = Extract<Actions, IActionWithPayload<ActionTypes.FEED_CREATE_POST, unknown>>
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句