React onChange 和 HTML onChange

1,013 阅读1分钟

我最近在做个人项目使用 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

image.png

所以,这也许是 React 的一个坑