在html中,標籤input、textarea、select的值的改變通常是根據使用者輸入進行更新。在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時使用非受控元件到倒是沒有什麼大問題,若是需要控制受控元素就會有出現問題,表現在 受控元件 需要主動維護乙個...