0
点赞
收藏
分享

微信扫一扫

三分钟看完react-redux

一天清晨 2022-03-12 阅读 88

三分钟看完react-redux

Redux

Redux 是一款著名 JavaScript 状态管理容器,提供与可预测的状态管理。
Redux 除了跟 React 配合使用,还可以配置 JS 、Vue 使用。

设计思想

在这里插入图片描述

三大原则

Redus组成

State状态

Action事件

Reducer

Store

案例展示

准备工作

创建Action

const sendAction = ()=>{
    //返回一个Action对象、
    return{
        type:'action-type',
        value:'我是一个action '
    }
}

module.exports = {
    sendAction
}

构建Reducer

const initstate = {
    value:'默认值'
}
const reducer = (state = initstate,action)=>{
    console.log('reducer',state,action)
    switch (action.type){
        case 'action-type':
            //合并Action和state
            return Object.assign({},state,action)
        default:
            return state;
    }
}
module.exports = {
    reducer
}

构建store

import {createStore} from "redux";
//导入reducer
import {reducer} from './reducer'
//构建store
const store = createStore(reducer);

export default store;

使用

import React from "react";

//导入store
import store from "./store";
//导入action
import {sendAction} from './action'

class Home extends React.Component{
    handleClick=()=>{
        const action = sendAction()
        //发送一个Action
        store.dispatch(action)
    }
    //注册监听
    componentDidMount() {
        store.subscribe(()=>{
            console.log('subscribe',store.getState());
            this.setState({});
        })
    }

    render() {
        return <button onClick={this.handleClick}>点我发送Action</button>
    }
}

export default Home;

在这里插入图片描述

举报

相关推荐

0 条评论