老师,我去查了下资料看不懂

来源:4-11 精益求精 - Buton 组件编码第二部分

天河卢姥爷

2020-07-30

图片描述
这里好像有个代替的方法,具体两种格式有什么区别,我网上查资料太少了,还全是英文的( ▼-▼ )

写回答

1回答

张轩

2020-07-31

同学你好 你做的挺好的 能直接查询英文文档寻求帮助 给你点赞,这两个定义我们可以直接在定义文件中查找。只要花的功夫够多,就能发现区别。

其实最下面的那个就回答了你的疑问欧,好好学英文把。

HTMLProps 是一个通用的类型,它指代所有 HTML 元素都有的通用类型。他没发给予我们足够详细的针对不同元素的描述/

interface HTMLProps<T> extends AllHTMLAttributes<T>, ClassAttributes<T> {
}

ComponentProps 是这么一个类型

type ComponentProps<T extends keyof JSX.IntrinsicElements | JSXElementConstructor<any>> =
    T extends JSXElementConstructor<infer P>
        ? P
        : T extends keyof JSX.IntrinsicElements
            ? JSX.IntrinsicElements[T]
            : {};

这个类型比较复杂,我们就不具体解释了,想知道详情就要都点进去看,结论就是它可以更好的描述某一个HTML 元素的类型。

0
0

React18+TS高仿AntD从零到一打造组件库

设计,开发,测试,发布再到 CI/CD,从0到1造轮子

2146 学习 · 959 问题

查看课程