站長資訊網
        最全最豐富的資訊網站

        react受控組件是什么

        在react中,受控組件指的是通過回調函數來更新當前值的組件;渲染表單的React組件還控制著用戶輸入過程中表單發生的操作,每當表單的狀態發生變化時,都會被寫入到組件的state中,這種組件在React被稱為受控組件。

        react受控組件是什么

        本教程操作環境:Windows10系統、react17.0.1版、Dell G3電腦。

        react受控組件是什么

        渲染表單的 React 組件還控制著用戶輸入過程中表單發生的操作。被 React 以這種方式控制取值的表單輸入元素就叫做“受控組件”。

        有網友這樣解釋:在React中,每當表單的狀態發生變化時,都會被寫入到組件的state中,這種組件在React被稱為受控組件。

        受控組件的更新流程:

        • 1,可以通過在初始state中設置表單的默認值

        • 2,每當表單的值發生變化時,調用onChange事件處理器,

        • 3,事件處理器通過事件對象e拿到改變后的狀態,改變state;

        • 4,setState觸發視圖更新,完成表單組件值的更新

        受控組件是通過通過回調函數來更新當前值,譬如 OnChange。父組件則通過回調函數控制并管理它的狀態并將新值作為屬性傳給它。受控組件也稱為“啞巴組件”。

        const { useState } from 'react'; function Controlled () {   const [email, setEmail] = useState();   const handleInput = (e) => setEmail(e.target.value);   return <input type="text" value={email} onChange={handleInput} />; }

        擴展知識:

        什么是不受控組件?

        不受控組件則是內部存儲自身狀態的組件,可以使用 ref 查詢 DOM,以便在需要時查找其當前值。有點像傳統的 HTML。大多數原生的 React 表單組件都支持受控和不受控:

        const { useRef } from 'react'; function Example () {   const inputRef = useRef(null);   return <input type="text" defaultValue="bar" ref={inputRef} /> }

        4 它們之間有什么區別?

        在受控組件中,表單數據由 React 組件處理。而在不受控組件中,表單數據由 DOM 本身處理。

        對于受控組件,必須使用組件狀態。對于不受控制的組件,狀態的使用是完全可選的,但必須在其中使用 Refs 。

        對于受控組件,我們可以在輸入時進行驗證,但對于不受控組件則不能進行驗證。

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 日韩亚洲精品福利| 中国精品18videosex性中国| 精品久久久久久无码中文字幕 | 精品久久一区二区| 亚洲国产精品无码av| 久久久久久无码国产精品中文字幕 | 国产精品无码日韩欧| 中文字幕无码精品亚洲资源网久久| 成人国内精品久久久久影院VR| 国产成人精品一区二区秒拍 | 国产成人精品精品欧美| 精品一区二区三区东京热 | 精品福利一区二区三区| 91亚洲精品麻豆| 国产成人亚洲合集青青草原精品| 精品久久久久久亚洲精品 | 九九精品在线视频| 国产vA免费精品高清在线观看| 九九热这里只有在线精品视| 国产精品免费福利久久| 久久精品蜜芽亚洲国产AV| 亚洲精品无码专区在线在线播放| 欧美精品黑人粗大| 久久精品视屏| 久久精品成人| 久久久精品人妻无码专区不卡| 国产乱人伦偷精品视频| 国产精品永久免费视频| 国产精品美女久久久久AV福利| 国产精品部在线观看| 国产精品麻豆欧美日韩ww| 国产人成精品综合欧美成人| 国产精品永久免费| 久久国产精品波多野结衣AV| 久久乐国产精品亚洲综合| 欧美精品成人3d在线| 永久免费精品影视网站| 亚洲国产精品国自产拍AV| 少妇精品无码一区二区三区 | 真实国产乱子伦精品视频| 久久久久99精品成人片直播|