内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

redux是不是必須搭配react

這篇文章給大家分享的是有關(guān)redux是不是必須搭配react的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧。

創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、東鄉(xiāng)網(wǎng)絡(luò)推廣、重慶小程序開發(fā)、東鄉(xiāng)網(wǎng)絡(luò)營(yíng)銷、東鄉(xiāng)企業(yè)策劃、東鄉(xiāng)品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供東鄉(xiāng)建站搭建服務(wù),24小時(shí)服務(wù)熱線:18980820575,官方網(wǎng)址:www.rwnh.cn

redux不是必須搭配react的,除了支持React外還支持其他的UI框架;而且redux并不是適合所有項(xiàng)目所有應(yīng)用的;在react中,能不用redux就不用redux。

redux是一個(gè)JavaScript狀態(tài)容器,主要提供狀態(tài)管理。可以運(yùn)行于服務(wù)端,客戶端,原生應(yīng)用。除了支持React外還支持其他的UI框架,體積小,只有2kb。當(dāng)要與React一起使用的時(shí)候,可以使用react-redux插件來(lái)進(jìn)一步提升我們的開發(fā)體驗(yàn)。

在開始今天的主題前,有幾個(gè)點(diǎn)我需要強(qiáng)調(diào)一下

react的state和redux的state根本是完全不沾邊的兩個(gè)東西,切記不要混為一談。react的state是存在于類組件中的一個(gè)存放自身變量的屬性,redux的state整個(gè)應(yīng)用的store中的某一個(gè)namespace下的狀態(tài)。二者沒有任何關(guān)系。

redux是一個(gè)獨(dú)立于react的,你可以選擇使用也可以選擇不適用,如果您不是使用的基于redux的腳手架,那么想使用redux您是需要單獨(dú)引用的。react包中并沒有redux。

假如您的應(yīng)用中要使用redux,您是需要將react和redux關(guān)聯(lián)起來(lái)的,這里有一個(gè)包叫react-redux,是用來(lái)關(guān)聯(lián)react和redux的,其中有一個(gè)高階函數(shù)叫connect,它接受兩個(gè)方法,mapStateToProps和mapDispatchToProps是這兩個(gè)方法將redux的state注入到了react的props中。

上面是帶大家回顧redux的一些基本知識(shí)點(diǎn),接下來(lái)我們進(jìn)入主題。

redux的使用場(chǎng)景

如果您的React應(yīng)用中狀態(tài)十分多,難以維護(hù)的時(shí)候,這個(gè)時(shí)候redux是個(gè)不錯(cuò)的選擇。(這里所說(shuō)的狀態(tài)就是react的state)

如果您需要數(shù)據(jù)共享,即多個(gè)react組件需要用同一個(gè)數(shù)據(jù)源。

如果您需要一些全局性的狀態(tài)控制,比如應(yīng)用中的當(dāng)前登錄人,我們說(shuō)不定會(huì)在哪個(gè)組件中使用登錄人信息,如果我們將它注冊(cè)到全局redux中,那么我們就無(wú)需關(guān)系哪個(gè)組件要用了,我們用的時(shí)候直接從全局redux中取就行

某組件的業(yè)務(wù)邏輯過于復(fù)雜,在react組件中處理這些數(shù)據(jù)太過繁瑣,我們可以考慮將部分邏輯拆分到redux中。

使用redux可以將數(shù)據(jù)和UI分離開,如果您為了實(shí)現(xiàn)這樣的效果,您可以嘗試使用redux.

我們?yōu)槭裁匆獪p少redux的使用

看過阮一峰大哥博客的同學(xué)一定看到過這幾句話

如果你不知道是否需要 Redux,那就是不需要它。

只有遇到 React 實(shí)在解決不了的問題,你才需要 Redux 。

所以redux并不是適合所有項(xiàng)目所有應(yīng)用的。

使用redux需要?jiǎng)?chuàng)建很多模板代碼,會(huì)讓state的更新變得十分復(fù)雜,這一點(diǎn)誰(shuí)用誰(shuí)知道,哈哈。

使用過多的redux會(huì)讓應(yīng)用失去靈活性

Redux 帶來(lái)了函數(shù)式編程、不可變性思想等等,為了配合這些理念,開發(fā)者必須要寫很多“模式代碼(boilerplate)”,繁瑣以及重復(fù)是開發(fā)者不愿意容忍的。當(dāng)然也有很多 hack 旨在減少 boilerplate,但目前階段,可以說(shuō) Redux 天生就附著繁瑣;

  • 使用 Redux,那么你的應(yīng)用就要用 objects 或者 arrays 描述狀態(tài);OMG!

  • 使用 Redux,那么你的應(yīng)用就要使用 plain objects 即 actions ,來(lái)描述變化;OMG!

  • 使用 Redux,那么你的應(yīng)用就要使用純函數(shù)去處理變化;OMG!

應(yīng)用中,狀態(tài)很多都要抽象到 store,那么何時(shí)使用 local states 何時(shí)接入 Redux store?不能痛痛快快地寫業(yè)務(wù),一個(gè)變化就要對(duì)應(yīng)編寫 action(action creator),reducer 等等;

和響應(yīng)式結(jié)合函數(shù)式的 Mobx 相比,編程體驗(yàn)“打折扣”

以上是引用了網(wǎng)友的一段話,可見redux的過多使用時(shí)存在很多弊端的,我這里就不一一羅列他的弊端了。感興趣的同學(xué)可以去自己搜一下,總是,我認(rèn)為能不用redux就不用redux

讀到這里,我想解決了一些讀者心中的疑問“我們什么時(shí)候用react的state什么時(shí)候用redux的state?”答案就很明確了。

redux畢竟是一個(gè)比較成功的框架,其中的數(shù)據(jù)流也是很經(jīng)典,解決了不少難題,任何東西都有利弊,我們只要做好權(quán)衡,相信我們可以寫出更加優(yōu)秀的應(yīng)用。

感謝各位的閱讀!關(guān)于redux是不是必須搭配react就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

標(biāo)題名稱:redux是不是必須搭配react
文章地址:http://www.rwnh.cn/article14/jdihge.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃域名注冊(cè)、外貿(mào)建站、做網(wǎng)站網(wǎng)站營(yíng)銷、靜態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營(yíng)
桂平市| 深泽县| 济源市| 大冶市| 南陵县| 黄大仙区| 全椒县| 江阴市| 洮南市| 浦北县| 慈溪市| 那坡县| 武乡县| 浪卡子县| 荃湾区| 宣恩县| 通道| 武胜县| 嫩江县| 菏泽市| 沙湾县| 金华市| 肥城市| 苏尼特右旗| 金秀| 茂名市| 高台县| 浪卡子县| 温州市| 台中县| 政和县| 额敏县| 于田县| 尚志市| 花垣县| 开化县| 天门市| 嘉善县| 铜梁县| 海兴县| 台江县|