Reactjs 对输入重新加载整个组件进行更改时作出反应
我的组件会重新加载并失去对输入的关注每次我键入时,我都会遇到与任何输入相同的问题Reactjs 对输入重新加载整个组件进行更改时作出反应,reactjs,react-hooks,react-router-dom,setstate,use-state,Reactjs,React Hooks,React Router Dom,Setstate,Use State,我的组件会重新加载并失去对输入的关注每次我键入时,我都会遇到与任何输入相同的问题 const [email, setEmail] = useState(''); <Input value={email} onChange={e=>setEmail(e.target.value)} type="email" /> Im使用脉轮UI、帧运动、重排和反应路由器重新渲染是正常的,这就是行为方式。 失去焦点可能与应用程序的其余部分有关。尝试添加,看看它是否解决了您的
const [email, setEmail] = useState('');
<Input value={email} onChange={e=>setEmail(e.target.value)} type="email" />
Im使用脉轮UI、帧运动、重排和反应路由器重新渲染是正常的,这就是行为方式。 失去焦点可能与应用程序的其余部分有关。尝试添加,看看它是否解决了您的问题 如果不希望在每次更新时重新渲染,希望控制焦点等,请使用,它用于直接访问DOM元素 官方文件中的示例:
class NameForm extends React.Component {
constructor(props) {
super(props);
this.handleSubmit = this.handleSubmit.bind(this);
this.input = React.createRef(); }
handleSubmit(event) {
alert('A name was submitted: ' + this.input.current.value); event.preventDefault();
}
render() {
return (
<form onSubmit={this.handleSubmit}>
<label>
Name:
<input type="text" ref={this.input} /> </label>
<input type="submit" value="Submit" />
</form>
);
}
}
你能分享一个可复制的演示吗?输入来自哪里?它重新播放是正常的,但不应该失去焦点。看,这看起来是正确的。也许你需要分享整个页面的代码。我还没有连接后端和前端,所以应该可以正常工作。有输入的组件是Login.js和Register.jsit什么都不做,只是想解决为什么输入中的onChange和setState会刷新整个组件。这没有解决问题