關於props和state(React)

來源:互聯網
上載者:User

標籤:修改   資料   資料流   特性   組件   唯讀   內容   更改   參數   

  React的資料模型分為共有資料和私人資料,共有資料可以在組件間進行傳遞,私人資料為當前組件私人。共有資料在React中使用props對象來調用,它包含標籤所有的屬性名稱和屬性值,props對象有三個特性,單向流動性、顯示傳遞性和唯讀性。單向流動性是指React的資料只能由父組件傳遞到子組件,而不能由子組件傳遞到父組件;顯示傳遞性是指必須明確地在子組件中通過屬性賦值,資料才可以傳遞到子組件;唯讀性是指props資料是唯讀,資料修改後並未改變原始的資料模型,而是會新產生一份資料模型,並將新的資料模型載入到原始父元素,從而完成資料的傳遞和組件狀態的更改。私人資料為組件私人,在React使用state對象來調用,state資料模型可以方便地進行更新操作,並且不會影響到其他組件。

  需要理解的是,props是一個父組件傳遞給子組件的資料流,這個資料流可以一直傳遞到子孫組件。而state代表的是一個組件內部自身的狀態(可以是父組件、子孫組件)。改變一個組件自身狀態,從語義上來說,就是這個組件內部已經發生變化,有可能需要對此組件以及組件所包含的子孫組件進行重渲染。而props是父組件傳遞的參數,可以被用於顯示內容,或者用於此組件自身狀態的設定(部分props可以用來設定組件的state),不僅僅是組件內部state改變才會導致重渲染,父組件傳遞的props發生變化,也會執行。

  既然兩者的變化都有可能導致組件重渲染,所以只有理解props與state的意義,才能很好地決定到底什麼時候用props或state。

關於props和state(React)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.