1. 程式人生 > >13 React——約束性元件&非約束性元件

13 React——約束性元件&非約束性元件

非約束性元件:

      <input type="text" defaultValue="a" />

      這裡面的defaultvalue其實就是原生DOM中的value屬性,這樣寫出來的元件,其value值就是使用者輸入的內容,react完全不管理輸入過程。

約束性元件:

      <input value={this.state.data} type="text" onChange={this.saveData} />

      這裡的value不再是一個寫死的值,它的值是由this.saveData來管理的。這個時候其實input的value值根本不是使用者輸入的內容,而是onChange事件觸發之後導致了一次重新渲染。不過react對其做了優化,我們看起來像是使用者輸入的值而已。