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

詳解React 和 Redux的關系

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

文檔: Redux中文文檔

Redux 官方文檔對 Redux 的定義是:一個可預測的 JavaScript 應用狀態(tài)管理容器。

一、redux和react的關系

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

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

對于大型的復雜應用來說,這兩方面恰恰是最關鍵的。因此,只用 React,寫大型應用比較吃力。

redux的優(yōu)勢:

集中式存儲和管理應用的狀態(tài)

處理組件通訊問題時,無視組件之間的層級關系

簡化大型復雜應用中組件之間的通訊問題

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

二、react多組件共享

抽離所有組件的狀態(tài),類比 React 組件樹,構造一個中心化的狀態(tài)樹,這棵狀態(tài)樹與 React 組件樹一一對應,相當于對 React 組件樹進行了狀態(tài)化建模: 

 

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

 

1.redux可以無視組件層級

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

三、redux的三個核心概念

核心概念:store、action、reducer  

1、store

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

特點:

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

2、action (動作)

action是一個js對象,他有兩個屬性:

type:標識屬性,值是字符串。多個type用action分開       

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

特點:

  • 只描述做什么
  • JS 對象,必須帶有 type 屬性,用于區(qū)分動作的類型
  • 根據(jù)功能的不同,可以攜帶額外的數(shù)據(jù),配合該數(shù)據(jù)來完成相應功能
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,返回一個新狀態(tài) 

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

總結

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

相關文章

  • React Fiber源碼深入分析

    React Fiber源碼深入分析

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

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

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

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

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

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

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

    useCallback和useMemo的正確用法詳解

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

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

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

    教你react中如何理解usestate、useEffect副作用、useRef標識和useContext

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

    詳解React 和 Redux的關系

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

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

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

    詳解webpack2+React 實例demo

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

最新評論

阳泉市| 肇东市| 蕉岭县| 淮阳县| 平远县| 皮山县| 新民市| 合山市| 合水县| 葵青区| 吴桥县| 景宁| 石嘴山市| 平阳县| 太湖县| 安图县| 诏安县| 资溪县| 十堰市| 花莲县| 肇庆市| 垦利县| 西城区| 鄯善县| 海盐县| 青铜峡市| 即墨市| 台北县| 绍兴县| 富平县| 乐安县| 惠来县| 金沙县| 永年县| 上犹县| 凤冈县| 灵石县| 兰考县| 兴业县| 云浮市| 莱阳市|