Skip to content

gxlmyacc/react-vuex-like

Repository files navigation

react-vuex-like

NPM version NPM downloads

a react state manager that like vuex, implementation based on mbox@4.

Installation

npm install react-vuex-like --save
# or
yarn add react-vuex-like

Usage

store like Vuex.Store:

import { Store } from 'react-vuex-like';

const store = new Store({
  modules: {
    child1: {
      state: {
        aa: true
      }
    },
    child2: {
      state: {
        bb: true
      }
    }
  },
  state: {
    user: {
      name: 'name1'
    },
  },
  getters: {
    aa(state) {
      return state.globalLoading;
    }
  }
  mutations: {
    'update-user'(state, v) {
      state.user = v;
    },
    'update-user-info'(state, v) {
      Object.keys(v).forEach(key => state.user[key] = v[key]);
    }
  },
  actions: {
    'update-user-info'({ commit }, v) {
      commit('update-user', v);
    }
  },
});

export default store;

Helpers Methods

support mapState,mapMutations,mapGetters,mapActions,createNamespacedHelpers. they can be used with react-vue-like.

see Vuex

Mobx re-export

react-vuex-like also re-export inject, Provider from mobx-react. see Connect components to provided stores using inject

License

MIT