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

react redux中如何獲取store數(shù)據(jù)并將數(shù)據(jù)渲染出來

 更新時(shí)間:2022年08月04日 14:12:21   作者:web前端 zxp  
這篇文章主要介紹了react redux中如何獲取store數(shù)據(jù)并將數(shù)據(jù)渲染出來,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

前景提要

如果不了解基礎(chǔ)的話 ----- 點(diǎn)擊此處

本文著重實(shí)現(xiàn)效果,不會(huì)講太多原理問題

未使用 react-redux 管理工具

1.創(chuàng)建倉(cāng)庫(kù)骨架并書寫初始代碼

src 目錄下創(chuàng)建

//store/index.js 代碼
import { createStore } from 'redux';
import reducer from "./reducer"
const store = createStore(reducer);
export default store
//store/reducer.js
const reducer = (prevState,action)=>{
    let newState = {...prevState}
    return newState
}
export default  reducer

2.正式開始

關(guān)鍵點(diǎn)在于 reducer.js 文件

它是一個(gè)純函數(shù),在不修改原始值的情況下返回一個(gè)新的數(shù)據(jù)

現(xiàn)在我們返回一個(gè)新的數(shù)據(jù)給 store(倉(cāng)庫(kù))

//store/reducer.js
let state = {
    todos:[
        {
            id:1,
            title:"今天周一",
            isFinished:false
        },
        {
            id:2,
            title:"今天周二",
            isFinished:true
        }
    ]
}
const reducer = (prevState = state,action)=>{
    let newState = {...prevState}
    return newState   //將新的數(shù)據(jù)返回出去
}
export default  reducer

因?yàn)椴]有數(shù)據(jù)傳遞過來,所以我們用一個(gè)默認(rèn)的數(shù)據(jù)來代替,然后把它給一個(gè)新的數(shù)據(jù)再傳出去(store會(huì)自動(dòng)接收return 的數(shù)據(jù))

3.store 數(shù)據(jù)獲取方法(可略過)

既然前文已經(jīng)返回?cái)?shù)據(jù),那我們就看看返回來的數(shù)據(jù)的樣子

//在任意頁(yè)面(view)引入該store
import store from './store'
console.log("store====",store)

效果圖

這是 該 store 的方法

通過 getState()方法來獲取數(shù)據(jù)

import store from './store'
console.log(store.getState())

4.數(shù)據(jù)的獲取與展示

上文中 通過 store.getState()獲取到了參數(shù),那么我們就可以把獲取到的參數(shù)賦值給現(xiàn)在的 組件的 state

import React, { Component } from 'react'
import store from '../store'    //引入
export default class One extends Component {
    constructor(){
        super()
        this.state = {
            todos:[]  //一定要定義一個(gè)初始值
        }
    }
    componentDidMount(){
        this.setState({
            todos:store.getState().todos   //將獲取到的數(shù)據(jù)里面的內(nèi)容賦值給 該頁(yè)面 state
            							   //頁(yè)面初次渲染的時(shí)候什么都沒有,在這里獲取并修改數(shù)據(jù)
            							   //使得頁(yè)面重新渲染,拿到數(shù)據(jù)
        })
    }
    render() {
        return (
            <div>
                {
                    this.state.todos.map(item=>{   //這里就是展示了
                        return(
                            <ul key={item.id}>
                                <li>{item.id}</li>
                                <li>{item.title}</li>
                            </ul>
                        )
                    })}
            </div>
        )
    }
}

效果圖

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • react使用.env文件管理全局變量的方法

    react使用.env文件管理全局變量的方法

    本文主要介紹了react使用.env文件管理全局變量的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • 詳解webpack + react + react-router 如何實(shí)現(xiàn)懶加載

    詳解webpack + react + react-router 如何實(shí)現(xiàn)懶加載

    這篇文章主要介紹了詳解webpack + react + react-router 如何實(shí)現(xiàn)懶加載,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    2017-11-11
  • 在react配置使用less的完美方案

    在react配置使用less的完美方案

    由于 create-react-app 使用 webpack 作為其模塊打包器,你需要修改 webpack 的配置來支持 .less 文件,這篇文章主要介紹了在react配置使用less的完美方案,需要的朋友可以參考下
    2024-04-04
  • React使用Electron開發(fā)桌面端的詳細(xì)流程步驟

    React使用Electron開發(fā)桌面端的詳細(xì)流程步驟

    React是一個(gè)流行的JavaScript庫(kù),用于構(gòu)建Web應(yīng)用程序,結(jié)合Electron框架,可以輕松地將React應(yīng)用程序打包為桌面應(yīng)用程序,本文詳細(xì)介紹了使用React和Electron開發(fā)桌面應(yīng)用程序的步驟,需要的朋友可以參考下
    2023-06-06
  • React+TS+IntersectionObserver實(shí)現(xiàn)視頻懶加載和自動(dòng)播放功能

    React+TS+IntersectionObserver實(shí)現(xiàn)視頻懶加載和自動(dòng)播放功能

    通過本文的介紹,我們學(xué)習(xí)了如何使用 React + TypeScript 和 IntersectionObserver API 來實(shí)現(xiàn)一個(gè)視頻播放控制組件,該組件具有懶加載功能,只有在用戶滾動(dòng)頁(yè)面且視頻進(jìn)入視口時(shí)才開始下載視頻資源,需要的朋友可以參考下
    2023-04-04
  • 解決React在安裝antd之后出現(xiàn)的Can''t resolve ''./locale''問題(推薦)

    解決React在安裝antd之后出現(xiàn)的Can''t resolve ''./locale''問題(推薦)

    這篇文章主要介紹了解決React在安裝antd之后出現(xiàn)的Can't resolve './locale'問題,本文給大家分享解決方案,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-05-05
  • 在create-react-app中使用sass的方法示例

    在create-react-app中使用sass的方法示例

    這篇文章主要介紹了在create-react-app中使用sass的方法示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-10-10
  • 一文帶你搞懂useCallback的使用方法

    一文帶你搞懂useCallback的使用方法

    useCallback是用來幫忙緩存函數(shù)的,當(dāng)依賴項(xiàng)沒有發(fā)生變化時(shí),返回緩存的指針,而props涉及到復(fù)雜對(duì)象類型都是通過指針來傳遞到,下面這篇文章主要給大家介紹了關(guān)于useCallback使用的相關(guān)資料,需要的朋友可以參考下
    2023-02-02
  • 如何將你的AngularJS1.x應(yīng)用遷移至React的方法

    如何將你的AngularJS1.x應(yīng)用遷移至React的方法

    本篇文章主要介紹了如何將你的AngularJS1.x應(yīng)用遷移至React的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-02-02
  • 詳解如何使用Jest測(cè)試React組件

    詳解如何使用Jest測(cè)試React組件

    在本文中,我們將了解如何使用Jest(Facebook 維護(hù)的一個(gè)測(cè)試框架)來測(cè)試我們的React組件,我們將首先了解如何在純 JavaScript 函數(shù)上使用 Jest,然后再了解它提供的一些開箱即用的功能,這些功能專門用于使測(cè)試 React 應(yīng)用程序變得更容易,需要的朋友可以參考下
    2023-10-10

最新評(píng)論

凤山县| 静宁县| 娱乐| 汉源县| 剑川县| 车险| 河间市| 桐乡市| 绥棱县| 沁源县| 卢湾区| 盐山县| 纳雍县| 禹城市| 诏安县| 东辽县| 卓尼县| 得荣县| 安吉县| 锦屏县| 湖州市| 南木林县| 洛隆县| 昭平县| 曲周县| 平乐县| 宁城县| 邵东县| 鲜城| 章丘市| 望都县| 泌阳县| 青海省| 苏尼特右旗| 铜陵市| 永昌县| 马公市| 铁力市| 原阳县| 泾源县| 繁峙县|