javascript – 在TypeScript 2.0中正确使用React.Events?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 在TypeScript 2.0中正确使用React.Events?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1124字,纯文字阅读大概需要2分钟。
内容图文
我有一个使用React和TypeScript的应用程序.我最近更新了我的类型定义,使用npm @types命名空间将它们存储在我的node_modules文件夹中.
以前在使用DOM Events时,这样的方法签名满足了类型定义:
public updateValue(e: React.FormEvent): void {
现在然而我得到编译器错误:
(46,25): error TS2314: Generic type 'FormEvent<T>' requires 1 type argument(s).
在查看react类型定义文件夹后,它确实采用了泛型:
interface FormEvent<T> extends SyntheticEvent<T> {
}
我的问题基本上是这个泛型的用例是什么,它应该如何使用以及它增加了什么优势?我可以简单地将我的方法更改为:
public updateValue(e: React.FormEvent<any>): void {
这将满足类型定义要求.但是预期的用例是什么?
解决方法:
从读取您链接的react.d.ts文件,看起来该泛型参数对应于currentTarget属性中指定的HTMLElement. Mozilla Docs表明这通常是一个元素.
[currentTarget: EventTarget & T;]
T仍未指定
interface ReactHTMLElement<T extends HTMLElement> extends DOMElement<HTMLAttributes<T>, T> {
这似乎支持T是一个元素的想法.我相信泛型的目标是能够在currentTarget属性上访问特定于元素的属性(例如,使用HTMLImageElement的src标记).有an issue建议在核心lib.d.ts中做类似的事情,并讨论所涉及的问题.
从我可以看出,反应类型是同一核心理念的实现.
内容总结
以上是互联网集市为您收集整理的javascript – 在TypeScript 2.0中正确使用React.Events?全部内容,希望文章能够帮你解决javascript – 在TypeScript 2.0中正确使用React.Events?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。