從零開(kāi)始敦锌,一步一步搭建Typescript+React+Redux項(xiàng)目——集成Redux(四)

本文詳細(xì)介紹了如何從零開(kāi)始搭建一個(gè) Typescript + React 開(kāi)發(fā)的腳手架,包含如何添加 Redux 以及 React Router 的環(huán)境谬泌。

本文代碼地址:ts-react-redux

建議將代碼拉下來(lái)之后滔韵,配合本文一起查看,效果更佳掌实。

代碼下載命令:git clone https://github.com/vettel-qin/ts-react-redux.git

相關(guān)文章目錄

從零開(kāi)始陪蜻,一步一步搭建Typescript + React + Redux項(xiàng)目——?jiǎng)?chuàng)建項(xiàng)目結(jié)構(gòu)(一)

從零開(kāi)始,一步一步搭建Typescript + React + Redux項(xiàng)目——開(kāi)發(fā)環(huán)境配置(二)

從零開(kāi)始贱鼻,一步一步搭建 Typescript + React + Redux項(xiàng)目——集成React(三)

從零開(kāi)始宴卖,一步一步搭建 Typescript + React + Redux項(xiàng)目——集成Redux(四)

從零開(kāi)始,一步一步搭建 Typescript + React + Redux項(xiàng)目——項(xiàng)目打包(五)

從零開(kāi)始忱嘹,一步一步搭建 Typescript + React + Redux項(xiàng)目——團(tuán)隊(duì)合作規(guī)范(六)

1嘱腥、安裝redux和react-redux 這里我們不需要安裝@types/redux,因?yàn)镽edux已經(jīng)自帶了聲明文件(.d.ts文件)

yarn add redux react-redux @types/react-redux -S

接下來(lái)就以一個(gè)經(jīng)典的TodoList來(lái)測(cè)試redux拘悦。

2齿兔、添加actions

(1)、在src下新建constants目錄并在此目錄下創(chuàng)建index.ts文件础米,然后在文件中添加所需的消息類型

constants/index.ts

??(2)分苇、在src下新建actions目錄并在此目錄下創(chuàng)建index.ts文件,然后創(chuàng)建這些 actions 的函數(shù)

actions/index.ts

3屁桑、添加reducer

在src下新建reducers目錄并在此目錄下創(chuàng)建index.ts和todoList.ts文件

reducers/todoList.ts

? ? ???

reducers/index.ts

?4医寿、添加store

store是保存數(shù)據(jù)的地方,整個(gè)應(yīng)用只有一個(gè)store蘑斧。Redux提供了createStore函數(shù)來(lái)生成store靖秩。

5须眷、創(chuàng)建展示組件

(1)、在components下新建AddTodo目錄并在此目錄下創(chuàng)建AddTodo.tsx和index.ts文件?

AddTodo.tsx

index.ts

(2)沟突、在components下新建TodoItem目錄并在此目錄下創(chuàng)建TodoItem.tsx和index.ts文件

TodoItem.tsx

index.ts

(3)花颗、在components下新建TodoList目錄并在此目錄下創(chuàng)建TodoList.tsx和index.ts文件?

TodoList.tsx

index.ts

???6、修改home容器組件

關(guān)鍵點(diǎn)是react-redux的connect函數(shù)惠拭,connect可以將我們的Home組件轉(zhuǎn)換成一個(gè)容器扩劝,通過(guò)以下兩個(gè)函數(shù):

a、mapStateToProps將當(dāng)前store里的數(shù)據(jù)以我們的組件需要的形式傳遞到組件职辅。

b棒呛、mapDispatchToProps利用dispatch函數(shù),創(chuàng)建回調(diào)props將actions送到store域携。

7簇秒、創(chuàng)建store

回到src/entries/index.tsx,要把所有的東西合到一起秀鞭,我們需要?jiǎng)?chuàng)建一個(gè)帶初始狀態(tài)的store宰睡,并用我們所有的reducers來(lái)設(shè)置它。

并且使用 react-redux 的 Provider 將 props 和 容器連接起來(lái)

??8气筋、redux中間件之redux-thunk

redux-thunk是dispatch到達(dá)reducer之前拆内,進(jìn)行一些額外的操作,如日志記錄宠默、創(chuàng)建崩潰報(bào)告麸恍、異步接口等

安裝redux-thunk? yarn add redux-thunk -D

在store目錄下index.ts,寫(xiě)入如下框內(nèi)代碼:


文章及代碼中如有問(wèn)題,歡迎指正搀矫,謝謝抹沪!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市瓤球,隨后出現(xiàn)的幾起案子融欧,更是在濱河造成了極大的恐慌,老刑警劉巖卦羡,帶你破解...
    沈念sama閱讀 218,755評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件噪馏,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡绿饵,警方通過(guò)查閱死者的電腦和手機(jī)欠肾,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)拟赊,“玉大人刺桃,你說(shuō)我怎么就攤上這事∥睿” “怎么了瑟慈?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,138評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵桃移,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我葛碧,道長(zhǎng)谴轮,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,791評(píng)論 1 295
  • 正文 為了忘掉前任吹埠,我火速辦了婚禮,結(jié)果婚禮上疮装,老公的妹妹穿的比我還像新娘缘琅。我一直安慰自己,他們只是感情好廓推,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,794評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布刷袍。 她就那樣靜靜地躺著,像睡著了一般樊展。 火紅的嫁衣襯著肌膚如雪呻纹。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,631評(píng)論 1 305
  • 那天专缠,我揣著相機(jī)與錄音雷酪,去河邊找鬼。 笑死涝婉,一個(gè)胖子當(dāng)著我的面吹牛哥力,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播墩弯,決...
    沈念sama閱讀 40,362評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼吩跋,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了渔工?” 一聲冷哼從身側(cè)響起锌钮,我...
    開(kāi)封第一講書(shū)人閱讀 39,264評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎引矩,沒(méi)想到半個(gè)月后梁丘,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,724評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡旺韭,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年兰吟,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片茂翔。...
    茶點(diǎn)故事閱讀 40,040評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡混蔼,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出珊燎,到底是詐尸還是另有隱情惭嚣,我是刑警寧澤遵湖,帶...
    沈念sama閱讀 35,742評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站晚吞,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏槽地。R本人自食惡果不足惜迁沫,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,364評(píng)論 3 330
  • 文/蒙蒙 一捌蚊、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧缅糟,春花似錦挺智、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,944評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)赴涵。三九已至媒怯,卻和暖如春髓窜,著一層夾襖步出監(jiān)牢的瞬間沪摄,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,060評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工纱烘, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留杨拐,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,247評(píng)論 3 371
  • 正文 我出身青樓擂啥,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親哺壶。 傳聞我的和親對(duì)象是個(gè)殘疾皇子屋吨,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,979評(píng)論 2 355