📜  ReactJS 中的受控组件是什么?(1)

📅  最后修改于: 2023-12-03 15:34:41.019000             🧑  作者: Mango

ReactJS中的受控组件是什么?

在ReactJS中,受控组件是指由React组件的状态来控制输入组件的值和行为的组件。这种组件与非受控组件相比,能够提供更高级别的控制和灵活性。

受控组件通过处理onChange事件来更新其父组件的状态,并将其状态传递给其子组件。因此,当用户输入或更改表单中的数据时,React将更新应用程序状态以反映用户所做的更改。

受控组件常见的使用场景是表单组件,如

import React, { useState } from 'react';

function Form() {
  const [name, setName] = useState('');
  const [email, setEmail] = useState('');

  function handleSubmit(e) {
    e.preventDefault();
    console.log('Name:', name);
    console.log('Email:', email);
  }

  function handleNameChange(e) {
    setName(e.target.value);
  }

  function handleEmailChange(e) {
    setEmail(e.target.value);
  }

  return (
    <form onSubmit={handleSubmit}>
      <label>
        Name:
        <input type="text" value={name} onChange={handleNameChange} />
      </label>
      <label>
        Email:
        <input type="email" value={email} onChange={handleEmailChange} />
      </label>
      <button type="submit">Submit</button>
    </form>
  );
}

在上面的代码中,我们定义一个名为Form的组件。该组件包含两个受控输入组件:一个元素,用于输入名称,以及一个元素,用于输入电子邮件地址。

每个元素都有一个value属性,该属性由组件的状态控制。此外,我们还定义了一个onChange处理程序,它在输入组件的值发生变化时更新组件的状态。

最后,我们在

元素上定义了一个onSubmit事件处理程序,该处理程序将阻止默认表单提交行为,并在控制台中打印用户输入的名称和电子邮件地址。

总结一下,受控组件是ReactJS中用于控制输入组件值和行为的一种方式。这种组件具有更高级别的控制和灵活性,使您能够监测和控制输入组件的值,并在用户输入或更改表单数据时更新应用程序状态。