参考答案:
受控组件(Controlled Component)是指一个表单元素的值由 React 组件的状态(state
)控制,而不是由 DOM 元素自身控制。也就是说,表单元素的值和状态都是由 React 组件的 state
进行管理的,表单元素的值由组件的 state
决定,并通过事件处理函数来更新 state
。
状态管理:
<input>
、<textarea>
和 <select>
)的值由 React 组件的 state
控制。表单元素的值始终与组件的 state
保持同步。单向数据流:
state
决定,当用户输入或选择时,事件处理函数会更新组件的 state
,进而重新渲染表单元素。数据流是单向的,即数据从组件的 state
流向表单元素。事件处理:
state
。组件的 render
方法会根据更新后的 state
重新渲染表单元素。以下是一个使用受控组件的示例,其中 <input>
元素的值由组件的 state
控制:
1import React, { useState } from 'react'; 2 3function ControlledForm() { 4 // 初始化状态 5 const [value, setValue] = useState(''); 6 7 // 处理输入变化的函数 8 const handleChange = (event) => { 9 setValue(event.target.value); 10 }; 11 12 // 处理表单提交的函数 13 const handleSubmit = (event) => { 14 event.preventDefault(); 15 alert('提交的值: ' + value); 16 }; 17 18 return ( 19 <form onSubmit={handleSubmit}> 20 <label> 21 输入内容: 22 {/* 受控组件 */} 23 <input type="text" value={value} onChange={handleChange} /> 24 </label> 25 <button type="submit">提交</button> 26 </form> 27 ); 28} 29 30export default ControlledForm;
最近更新时间:2024-08-10