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}
    />
  )
}
相关推荐
qq_316837753 小时前
uni.chooseMedia 读取base64 或 二进制
开发语言·前端·javascript
Zoey的笔记本4 小时前
2026告别僵化工作流:支持自定义字段的看板工具选型与部署指南
大数据·前端·数据库
小二·4 小时前
Python Web 开发进阶实战:混沌工程初探 —— 主动注入故障,构建高韧性系统
开发语言·前端·python
gis开发4 小时前
【无标题】
java·前端·javascript
小二·4 小时前
Python Web 开发进阶实战:低代码平台集成 —— 可视化表单构建器 + 工作流引擎实战
前端·python·低代码
慧一居士4 小时前
Vite 中配置环境变量方法及完整示例
前端·vue.js
天意pt5 小时前
Idempotency 幂等性 - 点赞和投票功能
前端·javascript·express
weixin_427771615 小时前
cursor 智能commit
前端
努力的小陈^O^5 小时前
问题:Spring循环依赖问题排查与解决
java·开发语言·前端
徐_三岁6 小时前
127.0.0.1 和 localhost 有什么区别?
前端