react受控元件與非受控元件

2021-10-19 00:11:01 字數 979 閱讀 3949

在html中,標籤inputtextareaselect的值的改變通常是根據使用者輸入進行更新。在react中,可變狀態通常儲存在元件的狀態屬性中,並且只能使用 setstate() 更新,而呈現表單的react元件也控制著在後續使用者輸入時該表單中發生的情況,以這種由react控制的輸入表單元素而改變其值的方式,稱為:「受控元件」,例如下面,input的value值依賴於state

class

demo

extends

react.component

;this

.handlechange =

this

.handlechange.

bind

(this);

}handlechange

(event));

};render()

onchange=

/>

<

/div>);

}}

表單資料由dom本身處理。即不受setstate()的控制,與傳統的html表單輸入相似,input輸入值即顯示最新值(使用 ref 從dom獲取表單值)

class

demo

extends

react.component

handlesubmit

(event)

render()

>

name:

"text" ref=

/>

<

/label>

"submit" value=

"submit"

/>

<

/form>);

}}

參考

react受控元件與非受控元件

一 受控元件 或都要繫結乙個change事件 每當表單的狀態發生變化,都會被寫入元件的state中,這種元件在react中被稱為受控元件 在受控元件中,元件渲染出的狀態與它的value或者checked prop向對應.react通過這種方式消除了元件的區域性狀態,是的應用的整個狀態可控.react...

react受控元件與非受控元件

非控元件 input textarea等普通元素預設是非受控元件 輸入框內部的值是使用者控制和react無關 這種簡單的input就是非控元件 受控元件 受控元件就是可以被 react 狀態控制的元件 input textarea等普通元素通常onchange 事件獲取當前輸入內容使用setstat...

react的受控元件與非受控元件

在使用react component時,都會遇到受控元件或者非受控元件 在目前,react元件推薦使用stateless component,但是使用該形式來實現react component時使用非受控元件到倒是沒有什麼大問題,若是需要控制受控元素就會有出現問題,表現在 受控元件 需要主動維護乙個...