管理状态Redux是专业的!!!

 1.使用原则

首先:什么情况下需要使用Redux???

  • 某个组件的状态在其它组件中需要使用到,或者说多个组件需要共享状态
  • 一个组件需要改变另一个组件的状态(通信)
  • 能不使用就尽量不用,如果不用比较吃力才考虑使用

2.工作流程图(原理图) 

Redux的三个核心概念:

  1. ActionCreators:顾名思义也就是动作的创建者,当组件触发一个action动作时,ActionCreators会自动创建一个动作对象,这个动作对象包含两个核心的属性:      type(动作类型)是必选属性、且唯一。data(携带的参数)是可选属性。                    eg:{type:'add',data:{number:1}}
  2. Store:是存储状态的仓库,也是和组件获取状态直接对接的对象。它是Redux的核心,用于接收一个动作类型再指派给对应的Reducer处理。
  3. Reducer:用于处理状态。它会接收到旧的state和动作类型,根据动作类型来加工状态。加工完成后返回新的state给Store。

3.代码演示

store

import { createStore } from 'redux'
import countReducers from './count_reducer'
//传入要被store管理的reducer
export default createStore(countReducers)

 reducer:本质上就是一个函数,接收两个参数:原始的状态(preState)、动作对象(action)

import { INCREMENT, DECREMENT } from "./constant";
export default function countReducers(preState = 0, action) {
    const { type, data } = action
    switch (type) {
        case INCREMENT:
            return preState + data
        case DECREMENT:
            return preState - data
        default:
            return preState
    }
}

 action:创建action对象,接收一个参数data

import { DECREMENT, INCREMENT } from "./constant";

export const crementIncrementAction = (data) => ({type:INCREMENT,data})
export const crementDecrementAction = (data) => ({type:DECREMENT,data})

  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值