a react state manager that like vuex, implementation based on mbox@4.
npm install react-vuex-like --save
# or
yarn add react-vuex-like
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;
support mapState
,mapMutations
,mapGetters
,mapActions
,createNamespacedHelpers
. they can be used with react-vue-like.
see Vuex
react-vuex-like
also re-export inject
, Provider
from mobx-react
. see Connect components to provided stores using inject