Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 对输入重新加载整个组件进行更改时作出反应_Reactjs_React Hooks_React Router Dom_Setstate_Use State - Fatal编程技术网

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会刷新整个组件。这没有解决问题