请问老师关于React.ButtonHTMLAttributes

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

hy_wang

2021-08-15

老师我不是很明白这里为什么要这样定义
React.ButtonHTMLAttributes

这里为什么要设置传入一个范性HTMLElement,明明使用React.ButtonHTMLAttributes就可以代表我这个是需要button的元素属性呀。React为什么这么定义。。

写回答

1回答

张轩

2021-08-16

同学你好 仔细研究定义文件就可以发现 ButtonHTMLAttributes 最后的泛型是传递到 

DOMAttributes<T> 上面的。上面有一系列这样的属性

onChange?: FormEventHandler<T>;
onChangeCapture?: FormEventHandler<T>;

这里的 T 其实是事件调用的时候,可以自动帮你推论出来的类型,也就是,请看截图,能看到 HTMLButtonElement 传入到了回调中。

//img.mukewang.com/szimg/6119bf5e09dbfdf213560432.jpg

所以说这样做是为了更方便的的将这些事件回调中的这个事件对象获取正确的类型。

0
0

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

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

2124 学习 · 959 问题

查看课程