首頁  >  文章  >  web前端  >  React是雙向資料流嗎

React是雙向資料流嗎

WBOY
WBOY原創
2022-04-21 11:18:051709瀏覽

React不是雙向資料流,而是單向資料流。單向資料流是指資料在某個節點被改動後,只會影響一個方向上的其他節點;React中的表現就是資料主要透過props從父節點傳遞到子節點,若父級的某個props改變了,React會重渲染所有子節點。

React是雙向資料流嗎

本教學操作環境:Windows10系統、react17.0.1版、Dell G3電腦。

React是雙向資料流嗎

React不是雙向資料流,react是單向資料流

vue和ng都是雙向資料流、VM雙向資料綁定。而react是單向資料流,model層的資料流向view層。

單向資料流是什麼意思?

單向資料流就是:資料在某個節點被改變後,只會影響一個方向上的其他節點。

React是雙向資料流嗎

單向資料流指只能從一個方向修改數據,姑且我們可以這樣理解,如下圖所示。一個父元件下有兩個子元件1和子元件2,父元件可以傳遞資料給子元件。假如子元件都取得了父元件的name,在子元件1中對name重新修改之後,子元件2和父元件中的值並不會改變,這正是因為Vue中的機制是單向資料流,子元件不能直接改變父元件的狀態。但反過來,如果是父元件中的name修改了,當然兩個子元件中的name也改變了。

簡單的單向資料流(unidirectional data flow)是指使用者存取View,View發出使用者互動的Action,在Action裡對state進行對應更新。 state更新後會觸發View更新頁面的過程。這樣資料總是清晰的單向進行流動,便於維護並且可以預測。

React遵循從上到下的資料流向,即單向資料流。

React是單向資料流,資料主要從父節點傳遞到子節點(透過props)。如果頂層(父級)的某個props改變了,React會重渲染所有的子節點。

單向資料流並非‘單向綁定’,甚至單向資料流與綁定沒有‘任何關係’。對React來說,單向資料流(從上到下)與單一資料來源這兩個原則,限定了React中要想在一個元件中更新另一個元件的狀態(類似Vue的平行元件傳參,或是子元件向父元件傳遞參數),需要進行狀態提升。即將狀態提升到他們最近的祖先組件。子元件中Change了狀態,觸發父元件狀態的變更,父元件狀態的變更,影響到了另一個元件的顯示(因為傳遞給另一個元件的狀態改變了,這點與Vue子元件的$emit()方法很相似)。

推薦學習:《react影片教學

以上是React是雙向資料流嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn