我的编程空间,编程开发者的网络收藏夹
学习永远不晚

react18中react-redux状态管理怎么实现

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

react18中react-redux状态管理怎么实现

这篇文章主要介绍“react18中react-redux状态管理怎么实现”,在日常操作中,相信很多人在react18中react-redux状态管理怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”react18中react-redux状态管理怎么实现”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

react的状态管理还是挺多的现在流行的有以下五种:

  • Recoil

  • MobX

  • XState

  • Redux

  • Context

今天我们来讲一下react众多状态管理之一的redux,虽然这个我不太喜欢用,但是我觉得简单的状态管理谁都会,但是难的就是程序员的分水岭,所以今天来给大家讲一下redux。

下面我们来讲讲redux的优点:

  • 可以在众多组件中传值,突破react单向数据流的限制

  • 不仅支持react还支持vue等主流框架

  • 当然是好用方便啦

接下来我们讲一下啥时候去使用他

  • 在我们有好多组件,但是组件间传值非常困难的时候在使用redux。

  • redux一定要作为最后底牌使用,因为他布局起来有点过程复杂。

接下来我们安装并使用redux

yarn add redux react-redux redux-devtools-extension redux-thunk

安装好了下面我给大家讲一下每个插件是干嘛的

  • redux不用说了状态管理

  • react-redux,这个插件的话,咱这样将:就是redux将组件分为了ui组件和容器组件两类,自然我们平常写方法,页面啥的就叫ui组件,redux提供的叫容器组件,这俩组件构成了父子组件,大家记住我这说的话,下面会用到。

  • redux-devtools-extension这个特别长的是redux官方提供的可以查看状态的ui插件,让我们在很多组件的情况下,也能知道每个组件的数据情况,非常贴心。

  • redux-thunk这个插件可以让redux拥有使用异步操作的能力,本身redux是不支持异步操作的

下面我们开始在react中去部署redux。中间会有点复杂,提倡大家多打两遍代码,毕竟还是内句话,简单 的谁都会,难的才是你和别的程序员的分水岭。

我们在class="lazy" data-src目录下创建一个redux的目录作为我们状态管理的文件夹。

在redux文件夹下创建store.js的文件,作为我们的入口文件

 //创建redux中作为核心的store               支持异步的中间件import {legacy_createStore as createStore, applyMiddleware} from 'redux' //引入支持异步actonimport thunk from 'redux-thunk'//引入开发者工具import {composeWithDevTools} from 'redux-devtools-extension'import Reducer from './reducer'                                                 这里为reduces文件这里还没说往下看export default createStore(Reducer,composeWithDevTools(applyMiddleware(thunk)))

在redux文件夹下创建actions文件,用来管理我们的动作对象,包括两个一个是type,data

  • type:这个是标识属性

  • data:顾名思义就是数据

export const increment=data=>({type:"add",data})export const decrement=data=>({type:"inadd",data})// 异步action就是指action的值为函数export const incrementAsync=(data,time)=>{    return (dispatch)=>{        setTimeout(()=>{            dispatch(increment(data))        },time)    }}

在redux文件夹下创建我们较为重要的reducer.js文件,这个文件为纯函数,里面不允许有任何的操作,加就是加,减就是减,不能有任何的条件或者异步

    //之前的值,传过来的值                     //prestate初始化状态是null所以得定义一下默认值const initState=0export default function countReduce(preState=initState,action){    const {type,data}=action    switch (type) {        case "add":            return preState+data        case "inadd":            return preState-data        default:            return preState;    }}

下面我们为兄弟组件,上面提到了哦,兄弟组件传值,没错redux就是利用props传值

在index.js文件中去设置

import store from "./redux/store";import {Provider} from "react-redux";const root = ReactDOM.createRoot(document.getElementById('root'));root.render(    <Provider store={store}>    <App />    </Provider>);

下面我们去使用redux,到组件中去使用,我们可以将ui组件和容器组件联合到一起写,根据意思就是使用一个叫connect的单词来使用在组件中引入(因为使用的是react -18的版本推崇hooks和函数组件,下面例子为函数组件)

import {connect} from 'react-redux'//引入操作方法import {add,inadd} from '../action'const app=(props)=>{    //这里log一下如果存在data说明redux部署成功了函数组件这样取值    console.log(props.count)    方法就是    porps.add()    return(                )}              export default connect(    //数据    state=>({count:state}),    //方法    {        add,        inadd        })(app)

到此,关于“react18中react-redux状态管理怎么实现”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

react18中react-redux状态管理怎么实现

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

react18中react-redux状态管理怎么实现

这篇文章主要介绍“react18中react-redux状态管理怎么实现”,在日常操作中,相信很多人在react18中react-redux状态管理怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”rea
2023-06-30

Mobx实现React 应用的状态管理详解

这篇文章主要为大家介绍了Mobx 实现 React 应用的状态管理,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
2022-12-08

ASP.NET中怎么实现状态管理和会话存储

在ASP.NET中,可以使用以下方法来实现状态管理和会话存储:ViewState:ViewState是用于在页面间保持状态的一种方法。它可以在页面上存储数据,并在页面间进行传递。Session:Session用于在服务器端存储用户的会话数据
ASP.NET中怎么实现状态管理和会话存储
2024-05-09

微信小程序怎么实现状态管理

微信小程序可以使用第三方库或自己实现状态管理来管理应用的状态。以下是一些常见的方法:使用第三方库:比如使用微信官方推荐的微信小程序框架 Wepy 或者第三方库 Redux 等来实现状态管理。这些库提供了一套完整的状态管理机制,可以帮助开发者
微信小程序怎么实现状态管理
2024-04-09

Pinia怎么实现简单的用户状态管理

这篇“Pinia怎么实现简单的用户状态管理”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Pinia怎么实现简单的用户状态管理
2023-07-04

Flutter状态管理Bloc之定时器怎么实现

小编给大家分享一下Flutter状态管理Bloc之定时器怎么实现,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!具体内容如下1. 依赖dependencies: flutter_bloc: ^2.1.1 equatabl
2023-06-29

RocketMQ中broker server之如何实现状态管理

这篇文章主要介绍RocketMQ中broker server之如何实现状态管理,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!broker server在存储层之上,管理一个broker的状态,通过调用存储层Defau
2023-06-19

react跳转前记住页面状态怎么实现

react实现跳转前记住页面状态的方法:1、监听path变化,当path变化时更新lastPath和currentPath到redux store中;2、在离开页面A时,将页面状态保存到redux store中;3、如果redux store中的lastPath等于页面B的path,则认为A是由B返回还原状态,否则不还原。
2023-05-14

Vuex中状态管理器怎么使用

本文小编为大家详细介绍“Vuex中状态管理器怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Vuex中状态管理器怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、Vuex是什么?Vuex在Vue项
2023-07-02

在Vue 3中怎么管理共享状态

在Vue 3中怎么管理共享状态,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。编写大型应用程序可能是一个挑战。在Vue3应用程序中使用共享状态可以解决项目复杂性。有很多常见的
2023-06-29

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录