Flux的基本原則是“單向數(shù)據(jù)流”簿煌,而Redux在其基礎(chǔ)上強調(diào)了三個原則:
- 唯一數(shù)據(jù)源
- 保持狀態(tài)只讀
- 數(shù)據(jù)改變只能通過純函數(shù)完成
唯一數(shù)據(jù)源
指的是應(yīng)用的狀態(tài)數(shù)據(jù)只存儲在唯一的一個store上
保持狀態(tài)只讀
狀態(tài)不能直接修改枢赔,而是創(chuàng)建一個新的狀態(tài)對象返回給Redux王浴,由其完成新的狀態(tài)組裝
數(shù)據(jù)改變只能通過純函數(shù)完成
Reducer就是這個純函數(shù),reducer(state,action)
,根據(jù)傳入的state和action來決定返回結(jié)果山卦,并且不能修改state和action
雖然看起來鞋邑,redux給開發(fā)者增加了很多限制,開發(fā)者喪失了想怎么寫就怎么寫的靈活度
如果你愿意限制做市方式的靈活度账蓉,你幾乎總會發(fā)現(xiàn)可以做的更好枚碗。