最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解React 和 Redux的關(guān)系

 更新時(shí)間:2021年11月16日 10:57:37   作者:JingG459  
這篇文章主要為大家介紹了React 和 Redux的關(guān)系,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助

文檔: Redux中文文檔

Redux 官方文檔對(duì) Redux 的定義是:一個(gè)可預(yù)測的 JavaScript 應(yīng)用狀態(tài)管理容器。

一、redux和react的關(guān)系

Redux并不只為react應(yīng)用提供狀態(tài)管理, 它還支持其它的框架。

React 是 DOM 的一個(gè)抽象層(UI 庫),并不是 Web 應(yīng)用的完整解決方案。因此react在涉及到數(shù)據(jù)的處理以及組件之間的通信時(shí)會(huì)比較復(fù)雜。

對(duì)于大型的復(fù)雜應(yīng)用來說,這兩方面恰恰是最關(guān)鍵的。因此,只用 React,寫大型應(yīng)用比較吃力。

redux的優(yōu)勢:

集中式存儲(chǔ)和管理應(yīng)用的狀態(tài)

處理組件通訊問題時(shí),無視組件之間的層級(jí)關(guān)系

簡化大型復(fù)雜應(yīng)用中組件之間的通訊問題

數(shù)據(jù)流清晰,易于定位 Bug

二、react多組件共享

抽離所有組件的狀態(tài),類比 React 組件樹,構(gòu)造一個(gè)中心化的狀態(tài)樹,這棵狀態(tài)樹與 React 組件樹一一對(duì)應(yīng),相當(dāng)于對(duì) React 組件樹進(jìn)行了狀態(tài)化建模: 

 

├── src
   ├── store          # redux目錄,一般約定叫store
   │   ├── index.js   # 定義并導(dǎo)出store. 其中會(huì)導(dǎo)入reducer
   │   └── reducer    # reducer函數(shù)
   ├── App.js         # 根組件,引入Father 和 Uncle組件

 

1.redux可以無視組件層級(jí)

2.對(duì)于組件系統(tǒng)來說,redux就是一個(gè)第三方的,全局的“變量”

三、redux的三個(gè)核心概念

核心概念:store、action、reducer  

1、store

store是一個(gè)倉庫,Redux 的核心,整合 action 和 reducer,與vuex的store意義上相似

特點(diǎn):

  • 一個(gè)應(yīng)用只有一個(gè) store
  • 維護(hù)應(yīng)用的狀態(tài),獲取狀態(tài):store.getState()
  • 創(chuàng)建 store 時(shí)接收 reducer 作為參數(shù):const store = createStore(reducer)
  • 發(fā)起狀態(tài)更新時(shí),需要分發(fā) action:store.dispatch(action)
import { createStore } from 'redux'
// 創(chuàng)建 store
const store = createStore(reducer)

2、action (動(dòng)作)

action是一個(gè)js對(duì)象,他有兩個(gè)屬性:

type:標(biāo)識(shí)屬性,值是字符串。多個(gè)type用action分開       

payload:數(shù)據(jù)屬性,可選。表示本次動(dòng)作攜帶的數(shù)據(jù)

特點(diǎn):

  • 只描述做什么
  • JS 對(duì)象,必須帶有 type 屬性,用于區(qū)分動(dòng)作的類型
  • 根據(jù)功能的不同,可以攜帶額外的數(shù)據(jù),配合該數(shù)據(jù)來完成相應(yīng)功能
const action1 = { type:'addN', payload: 12 }
// store.dispatch(action1)
 
const action2 = { type:'add', payload: 1 }

3、reducer (純函數(shù))

作用:

1.初始化狀態(tài)

2.修改狀態(tài)

修改狀態(tài) :根據(jù)傳入的舊狀態(tài) 和action,返回一個(gè)新狀態(tài) 

initState = 0
function reducer(state = initState, action) {
  return state
}

總結(jié)

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • React Fiber源碼深入分析

    React Fiber源碼深入分析

    Fiber 可以理解為一個(gè)執(zhí)行單元,每次執(zhí)行完一個(gè)執(zhí)行單元,React Fiber就會(huì)檢查還剩多少時(shí)間,如果沒有時(shí)間則將控制權(quán)讓出去,然后由瀏覽器執(zhí)行渲染操作,這篇文章主要介紹了React Fiber架構(gòu)原理剖析,需要的朋友可以參考下
    2022-11-11
  • react在安卓中輸入框被手機(jī)鍵盤遮擋問題的解決方法

    react在安卓中輸入框被手機(jī)鍵盤遮擋問題的解決方法

    這篇文章主要給大家介紹了關(guān)于react在安卓中輸入框被手機(jī)鍵盤遮擋問題的解決方法,文中通過圖文以及示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧
    2018-09-09
  • React DOM-diff 節(jié)點(diǎn)源碼解析

    React DOM-diff 節(jié)點(diǎn)源碼解析

    這篇文章主要為大家介紹了React DOM-diff節(jié)點(diǎn)源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • react?fiber使用的關(guān)鍵特性及執(zhí)行階段詳解

    react?fiber使用的關(guān)鍵特性及執(zhí)行階段詳解

    這篇文章主要為大家介紹了react?fiber使用的關(guān)鍵特性及執(zhí)行階段詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • useCallback和useMemo的正確用法詳解

    useCallback和useMemo的正確用法詳解

    這篇文章主要為大家介紹了useCallback和useMemo的正確用法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01
  • react-native 實(shí)現(xiàn)漸變色背景過程

    react-native 實(shí)現(xiàn)漸變色背景過程

    這篇文章主要介紹了react-native 實(shí)現(xiàn)漸變色背景過程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • 教你react中如何理解usestate、useEffect副作用、useRef標(biāo)識(shí)和useContext

    教你react中如何理解usestate、useEffect副作用、useRef標(biāo)識(shí)和useContext

    這篇文章主要介紹了react中如何理解usestate、useEffect副作用、useRef標(biāo)識(shí)和useContext,其實(shí)與vue中的ref和reactive一樣,通過useState獲取到的數(shù)據(jù)可以實(shí)現(xiàn)組件視圖實(shí)時(shí)交互,而普通定義的數(shù)據(jù)僅僅在業(yè)務(wù)中使用,需要的朋友可以參考下
    2022-11-11
  • 詳解React 和 Redux的關(guān)系

    詳解React 和 Redux的關(guān)系

    這篇文章主要為大家介紹了React 和 Redux的關(guān)系,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-11-11
  • 關(guān)于react 父子組件的執(zhí)行順序

    關(guān)于react 父子組件的執(zhí)行順序

    這篇文章主要介紹了關(guān)于react 父子組件的執(zhí)行順序,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • 詳解webpack2+React 實(shí)例demo

    詳解webpack2+React 實(shí)例demo

    本篇文章主要介紹了詳解webpack2+React 實(shí)例demo,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-09-09

最新評(píng)論

德安县| 新龙县| 汪清县| 仁怀市| 霍山县| 东乡| 合作市| 汤原县| 资溪县| 水城县| 赞皇县| 湖州市| 开阳县| 丰县| 商南县| 枣阳市| 邯郸市| 繁峙县| 庆阳市| 镇赉县| 巢湖市| 宁明县| 临邑县| 晋中市| 通道| 靖远县| 临安市| 唐山市| 文成县| 肇庆市| 汶川县| 石河子市| 格尔木市| 抚远县| 广德县| 沁阳市| 罗甸县| 连山| 乐安县| 延寿县| 溧水县|