请问老师关于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 传入到了回调中。
所以说这样做是为了更方便的的将这些事件回调中的这个事件对象获取正确的类型。
00
相似问题