处理 input、textarea、checkbox、select
处理 input 文本框
文本框是最常见的受控组件之一,使用 value 和 onChange 实现状态绑定。
import { useState } from 'react';
function TextInput() {
const [text, setText] = useState('');
return (
<input
type="text"
value={text}
onChange={(e) => setText(e.target.value)}
/>
);
}
`
处理 textarea
textarea 和 input 类似,也通过 value 绑定内容。
function TextAreaExample() {
const [content, setContent] = useState('');
return (
<textarea
value={content}
onChange={(e) => setContent(e.target.value)}
/>
);
}
处理 checkbox
checkbox 使用 checked 属性控制状态。
function CheckboxExample() {
const [checked, setChecked] = useState(false);
return (
<label>
<input
type="checkbox"
checked={checked}
onChange={(e) => setChecked(e.target.checked)}
/>
同意条款
</label>
);
}
处理 select 下拉框
select 通过 value 和 onChange 控制选中的选项。
function SelectExample() {
const [option, setOption] = useState('apple');
return (
<select value={option} onChange={(e) => setOption(e.target.value)}>
<option value="apple">苹果</option>
<option value="banana">香蕉</option>
<option value="orange">橘子</option>
</select>
);
}
总结
React 中处理各种表单控件的核心在于通过 value 或 checked 属性绑定组件状态,并在 onChange 中更新状态,实现单向数据流控制。
相关内容
- React 的设计理念:声明式 UI、组件化 React 的设计理念侧重于声明式 UI 和组件化。这种方式使得开发者能够更高效地构建可维护、可复用的用户界面。
- React 与其他前端框架的对比(Vue、Angular) React、Vue 和 Angular 都是流行的前端框架,它们各自有不同的设计理念和使用场景。React 强调组件化和虚拟 DOM,Vue 提供了更灵活的模板...
- React 是什么? React 是一个由 Facebook 开发的用于构建用户界面的 JavaScript 库。它通过组件化和声明式编程简化了复杂界面的开发,适用于构建交互丰富的单...
- useRef、useMemo、useCallback useRef、useMemo 和 useCallback 是 React 中常用的性能优化 Hooks,帮助管理引用、避免不必要的重新渲染和计算。
- 自定义 Hook 的创建与使用 自定义 Hook 是 React 中的一种机制,用于提取和复用组件逻辑。它可以将多个组件中共享的逻辑提取到独立的函数中,从而实现代码复用。
- Hook 规则与注意事项 在使用 React Hook 时,需要遵循一些规则和注意事项。了解这些规则可以帮助你避免常见的错误和性能问题,确保应用程序的稳定性和可维护性。