reactjs - 在文本字段元素上使用 onChange 事件和 useState 的最有效方法是什么
问题描述
代码示例;
<TextField id="name" onChange={(e: any) => setName(e.target.value)} value={name}> </TextField>
在这种情况下; 当我按下任何字符时,TextField 是否会重新呈现?还是只是价值在改变?
如果元素本身将被重新渲染,这是最好的方法吗?
注意:我将 name 设置为 value,因为我有一个表单,如果我回到屏幕,我想将 state value 设置为 TextField 值。
解决方案
如果该组件的 props 没有更改,您可能需要将有状态的组件分成更小的组件以避免重新渲染。
如果所有单个<TextField>
元素都在一个大的父组件中,React 每次都需要比较整个表单的请求 UI 结构。
此外,使用React DevTools -> Profiler查看哪些部分运行缓慢。
而且,React DevTools -> Components -> Settings -> Highlight updates when components render。
推荐阅读
- css - 如何在文档中悬停时更改下一个 N 元素
- matlab - 如何在多个引用的库中使用相同的数据
- javascript - Angular Http拦截器:catchError并返回成功
- python - 具有不同结构指针的函数的 Swig 包装器
- angular - ng-build 命令后路由器路由中断
- encryption - 使用 Pycryptodome 进行混合加密的正确密钥交换过程
- laravel - 如何在 vue.js 2 的 v-select 中设置选项值?
- python - Keras中类不平衡多类分类器的损失函数
- go - 从 main / go playground 运行基准测试
- javascript - 使用 jquery 更改输入的 id