非受控元件

2021-08-29 13:48:59 字數 1210 閱讀 5003

元件型別

表單資料處理方式

受控元件

react元件處理

非受控dom處理(使用ref)

受控元件:

class nameform extends react.component ;

this.handlechange = this.handlechange.bind(this);

this.handlesubmit = this.handlesubmit.bind(this);

} handlechange(event) );

} handlesubmit(event)

render()

}

非受控元件(快速隨性,減小**量):

class nameform extends react.component 

handlesubmit(event)

render()

}

2.受控vs 非受控

使用場景

非受控受控

一次性值的檢查(如表單提交)yy

表單提交時校驗yy

即時現場驗證xy

有條件的禁用提交按鈕xy

強制文字框格式化xy

乙個資料的幾個輸入xy

動態inputxy

備註:如果表單在ui反饋方面很簡單,使用不受控完全ok。

3.受控

每乙個表單元素,獨有乙個不同的prop設定它的值。下面是**彙總(含文字框、核取方塊、單選框、文字域、選擇)

4.非受控元件,設定預設值時用defaultvalue。

this.input = input} />
同樣, 和 支援 defaultchecked, 和 支援 defaultvalue.

5.檔案輸入

是乙個不受控元件,因為它的值不是以程式設計方式設定。

備註:建立ref節點以訪問提交處理程式中的檔案:

class fileinput extends react.component 

handlesubmit(event) `

);} render()

}reactdom.render(

, document.getelementbyid('root')

);

受控元件 非受控元件

宣告,本部落格摘自 表單元件像 input textarea 不同於其它的原生元件,因為它們會隨著使用者互動而改變。這些元件提供了介面方便我們管理這些互動。互動屬性 表單元件提供了一些受使用者互動影響的屬性 受控元件 設定了value的input就是乙個受控元件。input裡會一直展現這個值 var...

受控元件與非受控元件

受控元件與非受控元件 是否受狀態控制。我們來實現乙個react的雙向資料繫結 讓輸入框輸入值,下面的顯示跟著變化 import react,from react import reactdom from react dom class input extends component render r...

受控元件與非受控元件

針對於表單元素而言,如果資料由元件本身進行維護,讓react的state狀態成為唯一資料來源的話,那就是受控元件。非受控元件不需要寫事件處理函式,由dom自身進行維護。一般通過ref進行dom的繫結。受控元件 在html中,表單元素通常自己維護 state,並根據使用者輸入進行更新。而在 react...