文章详情

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

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2023-06-30 12:15

关注

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

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

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

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

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

接下来我们安装并使用redux

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

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

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

我们在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

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

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯