91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

React?Redux怎么使用配置

發布時間:2022-08-13 16:44:55 來源:億速云 閱讀:262 作者:iii 欄目:開發技術

這篇文章主要介紹“React Redux怎么使用配置”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“React Redux怎么使用配置”文章能幫助大家解決問題。

前言

在使用redux之前,首先了解一下redux到底是什么?

用過vue的肯定知道vuex,vuex是vue中全局狀態管理工具,主要是用于解決各個組件和頁面之間數據共享問題,對數據采用集中式管理,而且可以通過插件實現數據持久化

redux跟vuex類似,最主要的就是用作狀態的管理,redux用一個單獨的常量狀態state來保存整個應用的狀態,可以把它想象成數據庫,用來保存項目應用中的公共數據

Redux最主要是用作應用狀態的管理。簡言之,Redux用一個單獨的常量狀態樹(state對象)保存這一整個應用的 狀態,這個對象不能直接被改變。當一些數據變化了,一個新的對象就會被創建(使用actions和reducers),這 樣就可以進行數據追蹤,實現時光旅行。

redux三大原則

  1. state以單一的對象存儲在store中

  2. state是只讀的只能通過action修改

  3. 使用純函數reducer執行數據的更新

redux執行流程

  1. React組件從store獲取redux中的數據

  2. 當頁面數據要進行修改的時候,我們通過dispatch提交actions到store

  3. store把actions提交reducers中執行對應的邏輯,修改state中的數據

  4. 更新后的state數據返回到store中,更新React組件頁面上的數據

redux具體使用

在使用redux之前,我們首先要安裝redux,通過下面命令進行安裝

npm i redux --save

安裝好可以在根目錄package.json文件檢查是否安裝成功

React?Redux怎么使用配置

接下來開始配置redux,首先在src目錄下創建一個store文件夾,用來存放redux數據

接著在store新建一個js文件index.js,在index.js中配置redux內容

執行流程

在index.js中導入createStore方法,創建redux數據的方法

  1. 創建reducers出函數,純函數有兩個參數state 初始化的數據 ,actions修改state數據邏輯

  2. switch判斷actions中提交type類型執行state修改,返回修改的結果

  3. createStore方法創建store對象,export default 拋出對象的值

  4. 在使用redux的頁面導入index.js文件即可

store/index.js

//1. 導入createStore方法
import { createStore } from "redux";
//2. 創建一個reducer純函數的方法, state初始化數據, actions修改數據行為
const reducer = function (state, actions) {
    //定義初始化的數據
    if (!state) {
        state = {
            count: 10,
        }
    }
    //定義actions的邏輯代碼區域,處理邏輯的信息
    switch (actions.type) {
        //調用執行+1的邏輯
        case "PLUS":
            return {
                ...state,
                count: state.count + actions.payload,
            }
            break;
        case "JIAN":
            return {
                ...state,
                count:state.count-actions.payload
            }
            break;
        default:
            return {
                ...state
            }
    }
}
//創建store的對象
const store = createStore(reducer);
//拋出store的對象值
export { store };

redux使用流程

獲取redux中的數據,通過store.getState()

修改數據使用dispatch

dispatch({type:"類型",payload:額外的參數})

home.js

import React, { useEffect, useState } from 'react';
import { store } from './index';
export default function Home(props) {
    const [counts,setCounts]=useState(store.getState().count)
    useEffect(()=>{
        let unsubscribe=store.subscribe(()=>{
            let {count}=store.getState()
            console.log(count);
            setCounts(count)
        })
        return()=>{
            unsubscribe()
        }
    },[])
  return (
    <div>
        <h4>{counts}</h4>
        <button onClick={()=>store.dispatch({type:'PLUS',payload:2})}>count++</button>
        <button onClick={()=>store.dispatch({type:'JIAN',payload:2})}>count--</button>
    </div>
  )
}

直接調用方法頁面數據不發生變化,我們使用useEffect和subscribe對數據進行監聽,監聽頁面數據的刷新和更改

React?Redux怎么使用配置

關于“React Redux怎么使用配置”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

无锡市| 电白县| 达拉特旗| 武汉市| 江源县| 洛川县| 渑池县| 四子王旗| 上饶县| 沅陵县| 横山县| 左权县| 汉寿县| 五大连池市| 青河县| 宜城市| 磴口县| 克拉玛依市| 昭觉县| 黔西| 闽清县| 留坝县| 河西区| 招远市| 同德县| 滨海县| 施秉县| 武定县| 镇巴县| 灵台县| 永胜县| 石棉县| 布尔津县| 宕昌县| 靖西县| 堆龙德庆县| 九龙县| 伽师县| 西乡县| 郸城县| 平陆县|