redux初体验

3 篇文章 0 订阅

redux核心分为action、reducer、store三大模块
action定义公共变量、action构建函数
reducer定义当action来的时候如何改变state
store初始化存储空间,从redux引入createStore函数,并将reducer传入
通过store.dispatch来修改store,store.subscribe来监听redux的变化,进而通过callback来定义做出什么处理

const redux = require('redux')


// action
const INCREMENT = 'INCREMENT'
const DECREMENT = 'DECREMENT'
const ADD_NUMBER = 'ADD_NUMBER'
const SUB_NUMBER = 'SUB_NUMBER'
const addAction = (num) => ({
    type: ADD_NUMBER,
    num,
})
const subAction = (num) => ({
    type: SUB_NUMBER,
    num
})
export const decAction = () => ({
    type: DECREMENT
})
export const incAction = () => ({
    type: INCREMENT
})

// reducer
const initialState = {
    counter: 0
}
const reducer = (state = initialState, action) => {
    switch(action.type) {
        case INCREMENT:
            return {...state, counter: state.counter + 1}
        case DECREMENT:
            return {...state, counter: state.counter - 1}
        case ADD_NUMBER:
            return {...state, counter: state.counter + action.number}
        case SUB_NUMBER:
            return {...state, counter: state.counter - action.number}
        default:
            return state;
    }
}


// store
const store = redux.createStore(reducer)
store.subscribe(() => {
    console.log('state发生了改变', store.getState().counter)
})
store.dispatch(addAction(1))
store.dispatch(subAction(2))
store.dispatch(decAction())
store.dispatch(incAction(2))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值