2019-05-19 React &&Redux

React工作原理:

React 會(huì)創(chuàng)建一個(gè)虛擬 DOM(virtual DOM)。當(dāng)一個(gè)組件中的狀態(tài)改變時(shí),React 首先會(huì)通過(guò) "diffing" 算法來(lái)標(biāo)記虛擬 DOM 中的改變,第二步是調(diào)節(jié)(reconciliation),會(huì)用 diff 的結(jié)果來(lái)更新 DOM。


何為 redux??Redux詳解

Redux 的基本思想是整個(gè)應(yīng)用的 state 保持在一個(gè)單一的 store 中。store 就是一個(gè)簡(jiǎn)單的 javascript 對(duì)象,而改變應(yīng)用 state 的唯一方式是在應(yīng)用中觸發(fā) actions,然后為這些 actions 編寫 reducers 來(lái)修改 state。整個(gè) state 轉(zhuǎn)化是在 reducers 中完成,并且不應(yīng)該有任何副作用。

在 Redux 中,何為 store

Store 是一個(gè) javascript 對(duì)象,它保存了整個(gè)應(yīng)用的 state。與此同時(shí),Store 也承擔(dān)以下職責(zé):

允許通過(guò)getState()訪問(wèn) state

運(yùn)行通過(guò)dispatch(action)改變 state

通過(guò)subscribe(listener)注冊(cè) listeners

通過(guò)subscribe(listener)返回的函數(shù)處理 listeners 的注銷

何為 action

Actions 是一個(gè)純 javascript 對(duì)象,它們必須有一個(gè) type 屬性表明正在執(zhí)行的 action 的類型。實(shí)質(zhì)上,action 是將數(shù)據(jù)從應(yīng)用程序發(fā)送到 store 的有效載荷。

何為 reducer

一個(gè) reducer 是一個(gè)純函數(shù),該函數(shù)以先前的 state 和一個(gè) action 作為參數(shù),并返回下一個(gè) state。

Redux Thunk 的作用是什么

Redux thunk 是一個(gè)允許你編寫返回一個(gè)函數(shù)而不是一個(gè) action 的 actions creators 的中間件。如果滿足某個(gè)條件,thunk 則可以用來(lái)延遲 action 的派發(fā)(dispatch),這可以處理異步 action 的派發(fā)(dispatch)。

何為純函數(shù)(pure function)

一個(gè)純函數(shù)是一個(gè)不依賴于且不改變其作用域之外的變量狀態(tài)的函數(shù),這也意味著一個(gè)純函數(shù)對(duì)于同樣的參數(shù)總是返回同樣的結(jié)果。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容