React.ChangeEvent<HTMLElement>

来源:9-3 持续优化 - Input组件代码实现和优化过程

weixin_慕雪0272820

2021-04-30

const [value, setValue] = useState()
return <Input value={value} defaultValue={value} onChange={(e) => {setValue(e.target.value)}}/>
老師以上課程提到的代碼,
為什麼e的類型預設是React.ChangeEvent呀? 為什麼我們又要改成React.ChangeEvent?

写回答

1回答

张轩

2021-05-02

同学你好 第一个类型是 React 类型推论帮我们添加的 但是这个 React.ChangeEvent 上面并没有 e.target.value 属性,因为这个时候的 e.target 是一个HTMLElement,所以我们这里手动指定为 React.ChangeEvent<HTMLInputElement> 有了这个泛型的指定,e.target 就变成了 HTMLInputElement 上面就有 value 属性了。

2
1
weixin_慕雪0272820
非常感谢!
2021-05-02
共1条回复

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

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

2123 学习 · 959 问题

查看课程