• react18 通过redux 做一个简单的状态管理基站


    我们打开react项目 在终端输入

    npm install redux --save
    
    • 1

    在这里插入图片描述redux就进来了

    这里 我们引入了 redux 但其实 有一个 redux 和一个 react-redux

    两者区别在于 redux 是一个js的状态管理容器 而react-redux 则提供了 更多便于react开发的状态管理方法

    然后我们在项目的src目录下创建一个 reducers文件夹
    然后 下面创建一个counter.js
    参考代码如下

    const counter = ( state = 0,action )  => {
        switch(action.type) {
            case"INCREMENT":
                return state + 1;
            case"DECREMENT":
               return state - 1;
            default:
            return state;
        }
    }
    export default counter
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    然后在 src中的index.js 下 引入这些东西

    import { createStore } from "redux"
    import reducer from "./reducers/counter"
    
    // 创建store仓库
    const store = createStore(reducer);
    
    const root = ReactDOM.createRoot(document.getElementById('root'));
    root.render(
      <React.StrictMode>
        <App store={store}/>
      </React.StrictMode>
    );
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    这里我们将数据扔给了 App
    然后 我们在App组件编写代码如下

    import './App.css';
    import React from "react";
    
    class App extends React.Component{
      constructor(props){
        super(props);
        this.state = {
        }
      }
     
    
      render(){
        return (
          <div className="App">
            <button onClick={() => {this.props.store.dispatch({ type:'INCREMENT' })}} >增加</button>
            <button onClick={() => {this.props.store.dispatch({ type:'DECREMENT' })}}>减少</button>
            <div onClick={() => {console.log(this.props.store.getState())}}>读取</div>
          </div>
        )
      }
    }
    
    export default App;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    然后我们把项目跑起来
    我们先点一下读取
    在这里插入图片描述
    这里可以看到 State 一开始是 0

    然后 点一下增加 然后再点读取

    在这里插入图片描述
    可以看到 现在我们State 读的就是1了 然后我们点两下减少 再点读取
    在这里插入图片描述
    这下就变成 -1了

    这样 我们就通过redux做了一个简单的状态管理基站

  • 相关阅读:
    【ESD专题】案例 :结构设计导致的ESD问题
    python学习之函数,列表和元组,字典
    Java并发进阶之:关于计算机的一些知识
    如何创建自己的python装饰器!
    Ansible-roles学习
    SpringBoot到底是什么?
    人工智能热潮推动光芯片与光器件需求飙升
    计算机网络入门基础篇——运输层
    C++格式化输出
    APOLLO UDACITY自动驾驶课程笔记——规划、控制
  • 原文地址:https://blog.csdn.net/weixin_45966674/article/details/128139849