什麼是受控元件

2022-07-15 04:12:12 字數 749 閱讀 1311

在html當中,像,, 和這類表單元素會維持自身狀態,並根據使用者輸入進行更新。但在react中,可變的狀態通常儲存在元件的狀態屬性中,並且只能用 setstate() 方法進行更新。

非受控元件,即元件的狀態不受react控制的元件,例如下邊這個

import react,  from 'react';

import reactdom from 'react-dom';

class demo1 extends component

}reactdom.render(, document.getelementbyid('content'))

在這個最簡單的輸入框元件裡,我們並沒有干涉input中的value展示,即使用者輸入的內容都會展示在上面。如果我們通過props給元件設定乙個初始預設值,defaultvalue屬性是react內部實現的乙個屬性,目的類似於input的placeholder屬性。

同樣的,受控元件就是元件的狀態受react控制。上面提到過,既然通過設定input的value屬性, 無法改變輸入框值,那麼我們把它和state結合在一起,再繫結onchange事件,實時更新value值就行了。

class demo1 extends component 

}handlechange(e) )

}render() />)}

}

受控元件 非受控元件

宣告,本部落格摘自 表單元件像 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...