Mobx 结合 TypeScript 实现 setState 类型推导
发布日期:2025-04-14 09:55:20 浏览次数:10 分类:精选文章

本文共 482 字,大约阅读时间需要 1 分钟。

使用 TypeScript 遍历指定对象,并形成一个新的类型声明

由于 Mobx Store 本质是一个 object 对象,所以需要声明一个可以遍历某个对象的方法,这里还需要排除 function,我只是需要赋值 Mobx 管理的 state 即可。具体代码如下:

type GetStoreState
> = { [Key in keyof T as T[Key] extends Function ? never : Key]: T[Key];};

以上代码分解:

  • 使用 type 声明一个 TS 工具方法,接收一个泛型 T extends Record<string, any>,并为泛型缩窄类型,指定类型为可 索引类型;
  • [Key in keyof T as T[Key] extends Function ? never : Key] 分两步理解:
    • Key in keyof T 代表 key 属于传入对象的某一个属性;
    • as T[Key] extends Function ? never : Key 代表一个 js 里的三元表
  • 上一篇:MybaisPlus中#{} 和${}的区别---SpringCloud工作笔记187
    下一篇:MybaisPlus的Mapper.xml中,数据库中的字段是Mybatis中的关键字如何处理---SpringCloud工作笔记185

    发表评论

    最新留言

    能坚持,总会有不一样的收获!
    [***.219.124.196]2025年05月24日 07时20分56秒