redux包含哪些東西

actions =》reducer =》store

一. action(描述要發(fā)生的事情) 既有普通的對(duì)象艰争,又有能返回對(duì)象的創(chuàng)建函數(shù)迷帜,都可以傳入dispatch()中

二. reducer中刀脏,傳入一個(gè)值只會(huì)得到一個(gè)結(jié)果算柳,每次都這樣。這意味著:reducer內(nèi)不能做以下的事情:
修改傳入的參數(shù)
執(zhí)行副作用的操作雳攘,如API請(qǐng)求和路由跳轉(zhuǎn)
調(diào)用非純函數(shù)茴恰,如Date().now 或 Math.radom()

三. store: 我們學(xué)會(huì)了使用 action 來描述“發(fā)生了什么”巴粪,和使用 reducers 來根據(jù) action 更新 state 的用法哨鸭。Store 就是把它們聯(lián)系到一起的對(duì)象民宿。再次強(qiáng)調(diào)一下 Redux 應(yīng)用只有一個(gè)單一的 store。當(dāng)需要拆分?jǐn)?shù)據(jù)處理邏輯時(shí)像鸡,你應(yīng)該使用 reducer 組合 而不是創(chuàng)建多個(gè) store活鹰。
Store 有以下職責(zé):
維持應(yīng)用的 state;
提供 getState() 方法獲取 state只估;
提供 dispatch(action) 方法更新 state志群;
通過 subscribe(listener) 注冊(cè)監(jiān)聽器;
通過 subscribe(listener) 返回的函數(shù)注銷監(jiān)聽器。
通過replaceReducer(nextReducer)可以替換掉當(dāng)前的reducer

四.Redux 應(yīng)用中數(shù)據(jù)的生命周期遵循下面 4 個(gè)步驟:
調(diào)用store.dispatch(action) :你可以在任何地方調(diào)用 store.dispatch(action)蛔钙,包括組件中赖舟、XHR 回調(diào)中、甚至定時(shí)器中夸楣。
redux store 調(diào)用傳入的根reducer函數(shù):
根 reducer 應(yīng)該把多個(gè)子 reducer 輸出合并成一個(gè)單一的 state 樹:使用combineReducers()
Redux store 保存了根 reducer 返回的完整 state 樹。這個(gè)新的樹就是應(yīng)用的下一個(gè) state子漩!所有訂閱 store.subscribe(listener) 的監(jiān)聽器都將被調(diào)用豫喧;監(jiān)聽器里可以調(diào)用 store.getState() 獲得當(dāng)前 state。

現(xiàn)在幢泼,可以應(yīng)用新的 state 來更新 UI紧显。如果你使用了 React Redux 這類的綁定庫,這時(shí)就應(yīng)該調(diào)用 component.setState(newState) 來更新缕棵。

五. 容器組件與UI組件孵班,顧名思義,UI組件只負(fù)責(zé)樣式招驴,容器組件負(fù)責(zé)將UI組件結(jié)合起來并負(fù)責(zé)傳遞數(shù)據(jù)
容器組件就是使用 store.subscribe() 從 Redux state 樹中讀取部分?jǐn)?shù)據(jù)篙程,并通過 props 來把這些數(shù)據(jù)提供給要渲染的組件
你可以手工來開發(fā)容器組件,但建議使用使用 React Redux 庫的 connect() 方法來生成别厘,這個(gè)方法做了性能優(yōu)化來避免很多不必要的重復(fù)渲染虱饿。(這樣你就不必為了性能而手動(dòng)實(shí)現(xiàn) React 性能優(yōu)化建議 中的 shouldComponentUpdate 方法。)
使用 connect() 前,需要先定義 mapStateToProps 這個(gè)函數(shù)來指定如何把當(dāng)前 Redux store state 映射到展示組件的 props 中 export default connect(mapStateToProps)(組件)

  1. redux 的性能問題:redux-in-chinese
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末氮发,一起剝皮案震驚了整個(gè)濱河市渴肉,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌爽冕,老刑警劉巖仇祭,帶你破解...
    沈念sama閱讀 216,496評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異颈畸,居然都是意外死亡乌奇,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門承冰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來华弓,“玉大人,你說我怎么就攤上這事困乒〖牌粒” “怎么了?”我有些...
    開封第一講書人閱讀 162,632評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵娜搂,是天一觀的道長迁霎。 經(jīng)常有香客問我,道長百宇,這世上最難降的妖魔是什么考廉? 我笑而不...
    開封第一講書人閱讀 58,180評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮携御,結(jié)果婚禮上昌粤,老公的妹妹穿的比我還像新娘。我一直安慰自己啄刹,他們只是感情好涮坐,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,198評(píng)論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著誓军,像睡著了一般袱讹。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上昵时,一...
    開封第一講書人閱讀 51,165評(píng)論 1 299
  • 那天捷雕,我揣著相機(jī)與錄音,去河邊找鬼壹甥。 笑死救巷,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的句柠。 我是一名探鬼主播征绸,決...
    沈念sama閱讀 40,052評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼久橙,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了管怠?” 一聲冷哼從身側(cè)響起淆衷,我...
    開封第一講書人閱讀 38,910評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎渤弛,沒想到半個(gè)月后祝拯,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,324評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡她肯,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,542評(píng)論 2 332
  • 正文 我和宋清朗相戀三年佳头,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片晴氨。...
    茶點(diǎn)故事閱讀 39,711評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡康嘉,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出籽前,到底是詐尸還是另有隱情亭珍,我是刑警寧澤,帶...
    沈念sama閱讀 35,424評(píng)論 5 343
  • 正文 年R本政府宣布枝哄,位于F島的核電站肄梨,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏挠锥。R本人自食惡果不足惜众羡,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,017評(píng)論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蓖租。 院中可真熱鬧粱侣,春花似錦、人聲如沸蓖宦。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽球昨。三九已至,卻和暖如春眨攘,著一層夾襖步出監(jiān)牢的瞬間主慰,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評(píng)論 1 269
  • 我被黑心中介騙來泰國打工鲫售, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留共螺,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,722評(píng)論 2 368
  • 正文 我出身青樓情竹,卻偏偏與公主長得像藐不,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,611評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容

  • 學(xué)習(xí)必備要點(diǎn): 首先弄明白雏蛮,Redux在使用React開發(fā)應(yīng)用時(shí)涎嚼,起到什么作用——狀態(tài)集中管理 弄清楚Redux是...
    賀賀v5閱讀 8,896評(píng)論 10 58
  • 做React需要會(huì)什么法梯? react的功能其實(shí)很單一,主要負(fù)責(zé)渲染的功能犀概,現(xiàn)有的框架立哑,比如angular是一個(gè)大而...
    蒼都閱讀 14,759評(píng)論 1 139
  • 一、什么情況需要redux姻灶? 1铛绰、用戶的使用方式復(fù)雜 2、不同身份的用戶有不同的使用方式(比如普通用戶和管...
    初晨的筆記閱讀 2,028評(píng)論 0 11
  • 前言 本文 有配套視頻产喉,可以酌情觀看捂掰。 文中內(nèi)容因各人理解不同,可能會(huì)有所偏差镊叁,歡迎朋友們聯(lián)系我討論尘颓。 文中所有內(nèi)...
    珍此良辰閱讀 11,904評(píng)論 23 111
  • http://gaearon.github.io/redux/index.html ,文檔在 http://rac...
    jacobbubu閱讀 79,956評(píng)論 35 198