redux是不是必須搭配react

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

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

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

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

在開始今天的主題前,有幾個點我需要強調(diào)一下

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

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

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

上面是帶大家回顧redux的一些基本知識點,接下來我們進入主題。

redux的使用場景

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

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

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

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

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

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

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

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

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

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

使用redux需要創(chuàng)建很多模板代碼,會讓state的更新變得十分復雜,這一點誰用誰知道,哈哈。

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

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

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

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

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

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

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

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

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

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

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

標題名稱:redux是不是必須搭配react
文章地址:http://bm7419.com/article14/jdihge.html

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

廣告

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

網(wǎng)站托管運營