react中store與資料流
store
對於store在官網給的定義中,它是乙個物件,包含了action與reducer等的乙個組合。對於store,其有以下的職責:
1.儲存當前的state
2.允許通過getstate()去訪問state
3.允許dispatch(action)去更新state
4.允許listeners去通過subscript(listener)
5.處理通過subscribe(listener)返回的函式登出偵聽器
在這裡可以使用createstore來指定state的初始值,其採取的方式是在createstore中傳入第二個引數,用來指定其初始值,常用的初始值是window.state_from_server。
dispatch(action),傳送使用者請求並去更新state,在下面的例項中,在沒有ui元件的情況下去測試更新的邏輯。
資料流
redux是嚴格的單項資料流架構,這意味著所有的資料都必須採用同樣的生命週期模式,這使得我們更加容易去理解與**資料。這樣就實現了乙個資料的共享過程,不會有不互相知道資料的存放問題。對於redux的生命週期有以下四步
1.通過store.dispatch(action)去描述要發生什麼事情。例如:
所有有關於你想要去改變資料的操作都放在你的action中,因為所有的有關於資料的操作都只有這唯一的方式。
2.然後redux中的store就通過reducer去處理通過action發來的資料:
通過reducer中的兩個引數中action與state,將資料實時的呈現。(需要注意的是此時的reducer是乙個純函式,它只去計算nextstate)例如在下面的例子中:
3.根reducer將多個reduce組合在一起,構建乙個簡單的state樹。
在之前的部分已經說到了,通過combinereducers可以將多個reducer整合在一起。這樣做的目的是,方便資料的管理,每個部分中的資料操作都在各自的部分進行。下面的例子就是使用combinereducer的實際例子
然後就會將兩個reducer組合在一起
4.redux將通過reducer樹返回儲存乙個完整的state樹。
這個新構建的state樹,就是你接下來去訪問並返回的地方。
之前對於store的理解,是其就是乙個存放資料的地方,通過對於文件的閱讀之後,知道了其是對於一系列資料操作的過程。對於在redux中資料流的問題再一次的做了理解。
資料流與通訊
資料流 大b 小b區別 b byte 位元組 b bit 位元 1b 8b 位元率 位元率規定使用 位元每秒 bit s或bps 為單位,經常和國際單位制詞頭關聯在一起,如 千 kbit s或kbps 兆 mbit s或mbps 吉 gbit s或gbps 和 太 tbit s或tbps 在電信和電...
TCP互動資料流與成塊資料流 筆記
tcp互動資料流 對與互動性要求較高的應用採用互動性輸入,一次傳送較少的位元組,當tcp在接受資料時並不急著立即傳送ack 相反,它推遲傳送,以便將ack與需要沿該方向傳送的資料一起傳送 捎帶ack 絕大多數實現採用的時延為200ms,也就是說,tcp將以最大200ms的時延等待是否有資料一起傳送。...
React(4 2) 資料流(實踐篇)
state 應該包括那些可能被元件的事件處理器改變並觸發使用者介面更新的資料。state 增加了元件的複雜度同時降低了元件的可預見性,我們要盡可能建立多個只負責渲染資料的無狀態 stateless 元件,在它們的上層建立乙個有狀態 stateful 元件並把它的狀態通過。這一節,我們對 props ...