- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 React.js 的新手,最近我了解了 React 中的受控输入。
代码:
这是我制作的示例实现:
import React, { useState } from 'react';
const MyForm = () => {
console.log('rendered'); // Line 5
const [text1, setText1] = useState('');
const [text2, setText2] = useState('');
const onSubmit = (evt) => {
evt.preventDefault();
console.log(text1, text2);
}
return (<form onSubmit={onSubmit}>
<input type="text" value={text1} onChange={ev => setText1(ev.target.value)} />
<input type="text" value={text2} onChange={ev => setText2(ev.target.value)} />
<input type="submit"/>
</form>);
};
问题:
console.log('rendered');
再次调用第 5 行,整个表单似乎被重新渲染。我想这可能会导致一些问题,尤其是对于具有许多输入字段和大量预处理等的更高级表单。理想情况下,应该重新呈现已更改的字段。
最佳答案
由于状态发生变化,组件将重新渲染。这是正常的。如果您不希望那样,您需要将您的输入字段“导出”到具有自己状态的新组件,但是您必须以某种方式ref
这些组件返回给您的父级 form
组件以便在您提交表单时获取它们的当前值。
查询 this link关于如何使用 ref
,但我认为表单应该太重,以便您考虑为每个输入创建自己的状态以避免父组件在每次输入更改时重新渲染,甚至更改为不受控制的组件,这通常不推荐。
关于html - 防止在受控 react 输入中重新渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63048065/
为什么 React 提示受控/不受控输入? value一开始就设置为this.state.text,this.state.text在constructor中设置code> 到 ''。 import R
我在 SCM 工作,使用各种工具(Subversion、Clearcase、TFS、Perforce)和技术(主要是 .NET、Java)。在我开始工作之前,正常的业务顺序是创建一个受控分支。 我将受
我想在单击“恢复默认值”按钮时恢复所有输入字段和总计的默认值,但它不起作用。在我到目前为止的代码中,所有元素都包含在网格中。 我提到的SO问题: 将所有元素包装在表单或 div 中并调用 reset(
我一直在努力以编程方式打开/关闭 React-Select 组件,同时仍然保留选择元素的正常单击功能。 我需要通过 JavaScript 以编程方式打开选择,我使用 menuIsOpen 属性来工作。
我这里有一个具体案例,我需要一些安全建议。基本上我的问题是“如果我控制数据库中的内容(没有用户提交的数据),以 HTML(通过 AJAX)返回数据库查询的结果是否存在安全问题?” 这是正在发生的过程:
我是一名优秀的程序员,十分优秀!