redux和react-redux
发布日期:2021-05-13 22:21:38 浏览次数:19 分类:精选文章

本文共 4125 字,大约阅读时间需要 13 分钟。

Redux ������������������

Redux ������������

Redux ������������������������������������������������������������ React ������������������������������������������������������ Store���Reducer ��� Action���

Redux ������������

  • ������������ Action��������� store.dispatch(action) ��������� Action���
  • Store ������������ Reducer���Reducer ������������ State ��� Action ��������������������� State���
  • State ���������������Store ������������������������������������Subscriber������
  • Redux Store ������

  • ������ Store��������� createStore ������������ Redux Store��������� Reducer ���������������
  • Reducer ���������Reducer ������������������ state ��� action��������������������� State���
  • dispatch ��������������������� Action ������ Store���
  • subscribe ��������������������� State ���������������������
  • getState ��������������������������� State���
  • ������������

    // store.js
    import { createStore } from 'redux';
    const CounterReducer = (state = 0, action) => {
    switch(action.type) {
    case 'ADD': return state + 1;
    case 'MINUS': return state - 1;
    default: return state;
    }
    };
    const store = createStore(CounterReducer);
    export default store;
    // App.js
    import React, { Component } from 'react';
    import { connect } from 'react-redux';
    class App extends Component {
    render() {
    const { num, dispatch } = this.props;
    return (

    ���������������������{num}

    );
    }
    }
    export default connect()(App);

    React-Redux ������

    React-Redux ��������� Provider ��� connect ���������������������

    Provider ������

    Provider ��������������� Redux Store ������������������������������ index.js ���������������������������������

    import React from 'react';
    import ReactDOM from 'react-dom';
    import { Provider } from 'react-redux';
    ReactDOM.render(
    , document.getElementById('root'));

    connect ������

    connect ��������������� Redux Store ��� State ��� Action ������������ React ������������������������������

    import { connect } from 'react-redux';
    function MyComponent(props) {
    return

    ���������������������{props.num}

    ;
    }
    export default connect()(MyComponent);

    Redux ������������

    ��� Redux ��������������������������������������� Redux Thunk ���������������������������������������������

    // store.js
    import { createStore, applyMiddleware } from 'redux';
    import thunk from 'redux-thunk';
    const CounterReducer = (state = 0, action) => {
    switch(action.type) {
    case 'ADD': return state + 1;
    case 'MINUS': return state - 1;
    default: return state;
    }
    };
    const store = createStore(CounterReducer, applyMiddleware(thunk));
    export default store;
    // App.js
    import React, { Component } from 'react';
    import { connect } from 'react-redux';
    class App extends Component {
    render() {
    const { num, dispatch } = this.props;
    return (

    ���������������������{num}

    );
    }
    }
    export default connect()(App);

    Redux ������������

    ��������������������� Redux ��������������������� Redux DevTools ������������������������������������������������������ store.js ������

    import { compose, createStore, applyMiddleware } from 'redux';
    import { devTools, generateReduxDevTools } from 'redux-devtools-extension';
    const store = createStore(
    CounterReducer,
    compose(
    applyMiddleware(thunk),
    ...generateReduxDevTools()
    )
    );
    export default store;

    ��������������������������������������������������� Redux DevTools ��������������������� Redux ������������������

    上一篇:手写vue-router源码
    下一篇:Vue2.0修饰符

    发表评论

    最新留言

    表示我来过!
    [***.240.166.169]2025年04月12日 18时38分56秒

    关于作者

        喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
    -- 愿君每日到此一游!

    推荐文章