(五)React受控表单、获取DOM

1. React受控表单

概念:使用React组件的状态(useState)控制表单的状态

  1. 准备一个React状态值
javascript 复制代码
const [value, setValue] = useState('')
  1. 通过value属性绑定状态,通过onChange属性绑定状态同步的函数
javascript 复制代码
<input 
   type="text"
   valye={value}
   onChange={(e) => setValue(e.target.value)}
/>

实现效果:

  • 无论修改表单或者State,对应一方也会对应改变

2. React获取DOM

在React组件中获取、操作DOM,需要使用useRef钩子函数,分为两步:

  1. 使用useRef创建ref对象,并与JSX绑定
javascript 复制代码
 const inputRef = useRef(null)
<input type="text" ref={inputRef} />
  1. 在DOM可用时,通过inputRef.current拿到DOM对象
javascript 复制代码
console.log(inputRef.current)

用例:

javascript 复制代码
import {useRef} from "react";

function App() {
    const inputRef = useRef(null)

    const showDOM = () => {
        console.log(inputRef.current)
    }
    return (
        <div>
            <input type="text" ref={inputRef}/>
            <button onClick={showDOM}>获取DOM</button>
        </div>
    );
}

export default App;

点击按钮,console打印dom元素

相关推荐
喔烨鸭2 分钟前
antdv编辑表格,根据选择时间区间展示动态列
前端·vue·表格编辑
天天向上10243 分钟前
el-table 解决一渲染数据页面就卡死
前端·javascript·vue.js
bjzhang754 分钟前
使用 HTML + JavaScript 实现单会议室周日历管理系统
前端·javascript·html
weixin_431600447 分钟前
开发中遇到需要对组件库组件结构调整的两种落地方案实践
前端·组件库
Code知行合壹8 分钟前
Vue3入门
前端·javascript·vue.js
哈哈你是真的厉害9 分钟前
React Native 鸿蒙跨平台开发:TemperatureConverter 温度换算器
react native·react.js·harmonyos
LawrenceLan9 分钟前
17.Flutter 零基础入门(十七):StatelessWidget 与 State 的第一次分离
开发语言·前端·flutter·dart
酷酷的鱼14 分钟前
Expo Router vs 原生React Native 完全对比指南
javascript·react native·react.js
桃子叔叔16 分钟前
react-wavesurfer录音组件2:前端如何处理后端返回的仅Blob字段
前端·react.js·状态模式