星海

React · 单选题 · 第 45 题

前端与全栈开发面试 · 第 45 题

关于 React 中的受控组件,下列说法正确的是?

  1. A表单元素的值由 state 驱动,用户输入通过 onChange 更新 state
  2. B表单元素的值由 DOM 自己管理,需要时再通过 ref 读出来
  3. C受控组件不能设置 value 属性,只能设置 defaultValue 属性
  4. D受控组件的值只能在组件第一次渲染时设置,之后无法修改

答案

A A. 表单元素的值由 state 驱动,用户输入通过 onChange 更新 state

解析

受控组件让 React state 成为表单值唯一的数据来源,方便做即时校验、格式化和联动。由 DOM 自己管理、用 ref 读取的是非受控组件,用 defaultValue 设置初始值。只写了 value 却没有 onChange,输入框就会变成只读,React 也会给出警告。

在线刷这套题:即时判分、错题本、闪卡复习,不用登录就能练。