欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

文檔: Redux中文文檔

Redux 官方文檔對(duì) Redux 的定義是:一個(gè)可預(yù)測(cè)的 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)勢(shì):

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

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

簡(jiǎ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實(shí)現(xiàn)二級(jí)聯(lián)動(dòng)的方法

    React實(shí)現(xiàn)二級(jí)聯(lián)動(dòng)的方法

    這篇文章主要為大家詳細(xì)介紹了React實(shí)現(xiàn)二級(jí)聯(lián)動(dòng)的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • React?Hook?Form?優(yōu)雅處理表單使用指南

    React?Hook?Form?優(yōu)雅處理表單使用指南

    這篇文章主要為大家介紹了React?Hook?Form?優(yōu)雅處理表單使用指南,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • React前端框架實(shí)現(xiàn)原理的理解

    React前端框架實(shí)現(xiàn)原理的理解

    React是前端開發(fā)每天都用的前端框架,自然要深入掌握它的原理。我用?React?也挺久了,這篇文章就來總結(jié)一下我對(duì)?react?原理的理解,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2022-07-07
  • React+umi+typeScript創(chuàng)建項(xiàng)目的過程

    React+umi+typeScript創(chuàng)建項(xiàng)目的過程

    這篇文章主要介紹了React+umi+typeScript創(chuàng)建項(xiàng)目的過程,結(jié)合代碼介紹了項(xiàng)目框架搭建的方式,本文給大家講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-02-02
  • react native 仿微信聊天室實(shí)例代碼

    react native 仿微信聊天室實(shí)例代碼

    這篇文章主要介紹了react native 仿微信聊天室實(shí)例代碼,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-09-09
  • React Hooks常用鉤子及基本原理解讀

    React Hooks常用鉤子及基本原理解讀

    這篇文章主要介紹了React Hooks常用鉤子及基本原理,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • react+tsx中使用better-scroll詳解

    react+tsx中使用better-scroll詳解

    這篇文章主要介紹了react+tsx中使用better-scroll,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-09-09
  • React Js 微信禁止復(fù)制鏈接分享禁止隱藏右上角菜單功能

    React Js 微信禁止復(fù)制鏈接分享禁止隱藏右上角菜單功能

    這篇文章主要介紹了React Js 微信禁止復(fù)制鏈接,分享,禁止隱藏右上角菜單的解決代碼,需要的朋友可以參考下
    2017-05-05
  • antd?upload上傳如何獲取文件寬高

    antd?upload上傳如何獲取文件寬高

    這篇文章主要介紹了antd?upload上傳如何獲取文件寬高問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • React組件內(nèi)事件傳參實(shí)現(xiàn)tab切換的示例代碼

    React組件內(nèi)事件傳參實(shí)現(xiàn)tab切換的示例代碼

    本篇文章主要介紹了React組件內(nèi)事件傳參實(shí)現(xiàn)tab切換的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-07-07

最新評(píng)論