博客
关于我
Mobx 结合 TypeScript 实现 setState 类型推导
阅读量:798 次
发布时间:2023-02-09

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

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

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

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

以上代码分解:

  1. 使用 type 声明一个 TS 工具方法,接收一个泛型 T extends Record<string, any>,并为泛型缩窄类型,指定类型为可 索引类型
  2. [Key in keyof T as T[Key] extends Function ? never : Key] 分两步理解:
    • Key in keyof T 代表 key 属于传入对象的某一个属性;
    • as T[Key] extends Function ? never : Key 代表一个 js 里的三元表

转载地址:http://xfffk.baihongyu.com/

你可能感兴趣的文章
MSB与LSB
查看>>
MSCRM调用外部JS文件
查看>>
MSCRM调用外部JS文件
查看>>
MSEdgeDriver (Chromium) 不适用于版本 >= 79.0.313 (Canary)
查看>>
MsEdgeTTS开源项目使用教程
查看>>
msf
查看>>
MSFT Outlook VBA处理新邮件的方法
查看>>
MSN 协议分析
查看>>
MSN错误代码(error coed)解决大全
查看>>
MSP430F149学习之路——SPI
查看>>
msp430入门编程45
查看>>
MSP借助五招让中小企业签约云计算服务
查看>>
MSSQL数据库查询优化(一)
查看>>
MSSQL数据库迁移到Oracle(二)
查看>>
MSSQL日期格式转换函数(使用CONVERT)
查看>>
MSSQL注入入门讲解:保护你的数据库免受攻击
查看>>
MSSQL部分补丁的列表及下载地址(持续更新)
查看>>
MSTP多生成树协议(第二课)
查看>>
MSTP是什么?有哪些专有名词?
查看>>
myeclipse将怎么java编译器改成jdk1.7的版本
查看>>