表单受控组件: 表单的状态受到state的控制

    表单非受控组件: 表单的状态不受到state的控制,状态值存在dom中的

    在实际开发中,受控和非受控组件除了上面的理解之外,还有一种理解,就是用来描述父子组件的。
    比如子组件的状态受到父组件的控制,我们就认为子组件是受控组件(父组件给子组件传递props)
    子组件的窗台不受父组件控制,我们就认为子组件是非受控组件
    1. import React, { FC ,useState} from "react";
    2. const Frominput: FC = (props) => {
    3. const [txt,setTxt]=useState("张三")
    4. const changeClick=()=>{
    5. setTxt("李四")
    6. }
    7. const changeHangle=(e:React.ChangeEvent<HTMLInputElement>)=>{
    8. setTxt(e.target.value)
    9. }
    10. return (
    11. <div>
    12. <label htmlFor="name">请输入用户名</label>
    13. <input type="text" id="name" value={txt} onChange={changeHangle}/>
    14. <button onClick={changeClick}>点我修改文本框的值</button>
    15. </div>
    16. );
    17. };
    18. export default Frominput