React受控绑定

受控绑定

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

简单理解为双向绑定

jsx 复制代码
function App(){
  const [value, setValue] = useState('')
  return (
    <input 
      type="text" 
      value={value} 
      onChange={e => setValue(e.target.value)}
    />
  )
}

非受控绑定

概念:通过获取DOM的方式获取表单的输入数据,就是获取dom对象

  1. 使用useRef创建 ref 对象,并与 JSX 绑定
    const inputRef = useRef(null),通过ref属性绑定
  2. 在DOM可用时,通过 inputRef.current 拿到 DOM 对象
    inputRef.current
jsx 复制代码
function App(){
  const inputRef = useRef(null)

  const onChange = ()=>{
    console.log(inputRef.current.value)
  }
  
  return (
    <input 
      type="text" 
      ref={inputRef}
      onChange={onChange}
    />
  )
}
相关推荐
边界条件╝14 小时前
Pinia 深度使用实战
前端·vue.js
英俊潇洒美少年14 小时前
前端 Jest 单元测试零基础实战:模板、提效、避坑、面试题(Vue 项目可用)
前端·vue.js·单元测试
和blue一起变得更好14 小时前
周三:Vue3高级组件特性
前端·javascript·vue.js
happyprince14 小时前
10-Hugging Face Transformers 量化系统深度分析
java·前端·数据库
AskHarries14 小时前
如何使用 OpenClaw Skill
前端
AI周红伟14 小时前
Agent Skills生产级Skills 案例实操-周红伟
前端·chrome·react.js·langchain
用户862841295494414 小时前
Flutter rxflare 响应式进阶:Map/List 精准字段更新(高性能实战)
前端·flutter
横木沉14 小时前
高并发场景下的前端缓存与降级策略
大数据·前端·缓存
我命由我1234515 小时前
VSCode - VSCode 自定义折叠区域
前端·javascript·ide·vscode·前端框架·编辑器·js
cc.ChenLy15 小时前
Lottie-Web 技术指南:让动画开发更简单高效
前端