React 设计模式~容器组件/不受控制的受控组件~

react 设计模式~容器组件/不受控制的受控组件~

不受控制的组件

这种模式意味着 react 不控制表单数据,dom 保存表单状态。

访问 dom 时,必须使用 useref 钩子设置 ref 属性。

・src/components/uncontrol-form.jsx

import react from "react";export const uncontrolledform = () => {  const nameinputref = react.createref();  const ageinputref = react.createref();  console.log("renedering");  const submitform = (e) => {    console.log(nameinputref.current.value);    console.log(ageinputref.current.value);    e.preventdefault();  };  return (                            );};

受控组件

此模式意味着 react 使用 usestate 钩子控制表单数据。

我们可以完全控制输入值并实时更新。

import React, { useEffect, useState } from "react";export const ControlledForm = () => {  const [errorMessage, setErrorMessage] = useState("");  const [name, setName] = useState("");  const [age, setAge] = useState();  useEffect(() => {    if (name.length < 1) {      setErrorMessage("name can not be empty");    } else {      setErrorMessage("");    }  }, [name]);  return (          {errorMessage&& 

{errorMessage}

} setName(e.target.value)} /> setAge(e.target.value)} /> );};

以上就是React 设计模式~容器组件/不受控制的受控组件~的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1491734.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月19日 14:13:10
下一篇 2025年12月19日 14:13:26

相关推荐

发表回复

登录后才能评论
关注微信