您好,登錄后才能下訂單哦!
這篇文章主要介紹“react受控組件指的是什么”,在日常操作中,相信很多人在react受控組件指的是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”react受控組件指的是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
在react中,受控組件指的是通過回調函數來更新當前值的組件;渲染表單的React組件還控制著用戶輸入過程中表單發生的操作,每當表單的狀態發生變化時,都會被寫入到組件的state中,這種組件在React被稱為受控組件。
本教程操作環境:Windows10系統、react17.0.1版、Dell G3電腦。
渲染表單的 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 。
對于受控組件,我們可以在輸入時進行驗證,但對于不受控組件則不能進行驗證。
到此,關于“react受控組件指的是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。