我最近在做个人项目使用 input 的时候,突然发现:React 和 HTML 的 onChange 是不一样的
其实在 input 里 onChange 是当用户鼠标移开之后才会触发的,但是 React 并不是
React 特征:只提供基础工具,其他你自己造,跟 Vue 不同)
HTML 的 onChange
- 在 input 中任意输入,不会立马触发 onChange 事件
- 什么时候触发呢?
- 答案:鼠标移开之后
React 的 onChange
它在输入的时候 就已经触发了,正在学习 React 的朋友会觉得这是个坑:啊!!!这不符合 React 的特征!!!
- 在 input 中任意输入,会立马触发 onChange 事件
注意:
在index.tsx (我是用 tsx 写的,有的可能是 jsx)里,需要删除 React.StrictMode 标签,不然会出现触发两次 onChange 事件的 bug
所以,这也许是 React 的一个坑