(五)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元素

相关推荐
前端西瓜哥21 小时前
Figma 协同编辑是如何做用户状态同步的?
前端
OpenTiny社区21 小时前
不止按钮和表格!TinyVue 偷偷上线 Space 组件,直接搞定「弹性+间距」布局
前端·vue.js·github
FogLetter21 小时前
Vue 全家桶深度探索:从语法精要到项目实战
前端·vue.js
木易士心21 小时前
Vue 3 Props 响应式深度解析:从原理到最佳实践
前端
FogLetter21 小时前
从零实现一个低代码编辑器:揭秘可视化搭建的核心原理
前端·react.js·低代码
花归去21 小时前
vue甘特图
前端·javascript·vue.js
进击的野人21 小时前
CSS 定位详解:从文档流到五种定位方式
前端·css
李瑞丰_liruifengv21 小时前
使用 Claude Agent SDK 开发一个 Agent 原来这么简单
前端·javascript·agent
残冬醉离殇21 小时前
《手撕类Vue2的响应式核心思想:我的学习心路历程》
前端·vue.js
有意义21 小时前
为什么说数组是 JavaScript 开发者必须精通的数据结构?
前端·数据结构·算法