一个typescript小题目

126 阅读1分钟

image.png

问 LayoutType 类型是FormLayout是如何算出来的

有几个基础知识点

1 Parameters<typeof 函数名称> 获取函数的参数类型关键词

企业微信截图_16728250711395.png

2 ProForm的类型如下

企业微信截图_16728251734538.png

3 “&” 在typescript 表示取并集

所以

Parameters 表示类型为

    [
     ProFormProps<T> & {
        children?: React.ReactNode | React.ReactNode[];
        }
    ]

随后通过 Parameters[0] 拆分数组,取得

 ProFormProps<T> & {
        children?: React.ReactNode | React.ReactNode[];
        }

最终 Parameters[0]['layout'] 表示取出其中key为 layout的 类型

此时查看ProFormProps类型

1672888408767.png

从而得知,最终结果其实就是 'horizontal' | 'inline' | 'vertical' 个类型

相关链接

blog.csdn.net/m0_52518047…

www.cnblogs.com/wangrui233/…