前言:
整理一下之前零零散散的筆記梦抢。因?yàn)楸容^懶忘苛,不太喜歡整理成篇章蚣驼。簡(jiǎn)友們就當(dāng)粗茶淡飯的一看了之吧。
大概說(shuō)一下Redux流程機(jī)制:State 被 Store 持有歌懒,Store 被通過(guò)將Reducing函數(shù)傳遞給createStore創(chuàng)建寨辩。Action store.dispatch()將 action 傳到 store鸣哀,改變State坦刀。Reducer指明應(yīng)如何更更新State。
State
1.單?數(shù)據(jù)源以一個(gè)對(duì)象樹的形式儲(chǔ)存在一個(gè)單一的 store 中
2.編寫reducers ?用來(lái)描述Action 如何改變state樹
3.由于是只讀的臭杰,改變 store 內(nèi) state 的惟?途徑是對(duì)它 dispatch ?個(gè)Action粤咪。
Action
1.Action 只是?用來(lái)描述有事情要發(fā)?生
2.通過(guò)store.dispatch()將 action 傳到 store,Action 是把數(shù)據(jù)傳?入 store 的惟?途徑
3.action 內(nèi)必須使?用?個(gè)字符串串類型的 type字段來(lái)表示將要執(zhí)?行行的動(dòng)作
4.在 Redux 中的 action 創(chuàng)建函數(shù)只是簡(jiǎn)單的返回?個(gè) action
5.bindActionCreators()可以?自動(dòng)把多個(gè) action 創(chuàng)建函數(shù) 綁定到dispatch()?方法上
Reducer
1.reducer 就是一個(gè)純函數(shù)渴杆,他只做兩件事情寥枝,?個(gè)就是Action 轉(zhuǎn)發(fā)宪塔,State 更更新
2.Reducer 可以拆開,State 單?的數(shù)據(jù)結(jié)構(gòu)囊拜,不不存在嵌套的情況
3.把所有數(shù)據(jù)放到?個(gè)對(duì)象?里里某筐,每個(gè)數(shù)據(jù)以ID為主鍵不不同實(shí)體或列列表間通過(guò) ID 相互引?用數(shù)據(jù)
###注意事項(xiàng)
1.默認(rèn)情況下,返回舊的State
2.每個(gè) reducer 只負(fù)責(zé)管理理全局 state 中它負(fù)責(zé)的?部分冠跷。
3.每個(gè) reducer 的 state 參數(shù)都不不同南誊,分別對(duì)應(yīng)它管理理的那部分 state 數(shù)據(jù)
4.執(zhí)?行行有副作?用的操作,如 API 請(qǐng)求和路路由跳轉(zhuǎn)
5.調(diào)?用?非純函數(shù)蜜托,如 Date.now() 或 Math.random()抄囚。
Store
1.通過(guò)將reducing 函數(shù)傳遞給createStore創(chuàng)建
2.Store 就是?用來(lái)維持應(yīng)?用所有的 state 樹 的?個(gè)對(duì)象
3.維持應(yīng)?用的 state
4.提供 getState() ?方法獲取 state
5.提供 dispatch(action) ?方法更更新 state
6.通過(guò) subscribe(listener) 注冊(cè)監(jiān)聽器?
7.通過(guò) subscribe(listener) 返回的函數(shù)注銷監(jiān)聽器?
8.Redux 應(yīng)?用只有一個(gè)單一的 store
React-Redux
Provider
使 React 組件可被連接(connectable)
等待完善
connect
把 React 組件和 Redux 的 store 連接起來(lái)
等待完善