React不是雙向資料流,而是單向資料流。單向資料流是指資料在某個節點被改動後,只會影響一個方向上的其他節點;React中的表現就是資料主要透過props從父節點傳遞到子節點,若父級的某個props改變了,React會重渲染所有子節點。
本教學操作環境:Windows10系統、react17.0.1版、Dell G3電腦。
React是雙向資料流嗎
React不是雙向資料流,react是單向資料流
vue和ng都是雙向資料流、VM雙向資料綁定。而react是單向資料流,model層的資料流向view層。
單向資料流是什麼意思?
單向資料流就是:資料在某個節點被改變後,只會影響一個方向上的其他節點。
單向資料流指只能從一個方向修改數據,姑且我們可以這樣理解,如下圖所示。一個父元件下有兩個子元件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中文網其他相關文章!

本文討論了HTML5音頻格式和跨瀏覽器兼容性。它涵蓋MP3,WAV,OGG,AAC和WebM,並建議使用多個來源和後備以實現更廣泛的可訪問性。

SVG和畫布是Web圖形的HTML5元素。基於向量的SVG擅長可擴展性和交互性,而基於像素的畫布則更適合遊戲等性能密集型應用程序。

本文討論了HTML的≪ Meter≫ &&<標籤,用於顯示標量值和任務進度。

這是使用HTML5轉換為表格格式的數據,包括響應式設計的示例和策略,造型的最佳實踐以及表格結構中使用的語義HTML5標籤:<! doctype html> < html lang =&

本文討論了< datalist> gt; &&< select>標籤,專注於其功能,用戶互動以及對不同Web開發方案的適用性。

本文討論了HTML的Lt; gt; gt; &< img>標籤,專注於他們的目的,用法和語義優勢。主要論點是> gt;提供更好的結構和訪問


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

SublimeText3 Linux新版
SublimeText3 Linux最新版

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具