react-state-pro
npm install react-state-pro --save
cd react-state-pro && npm install
cd react-state-pro/example && npm install
npm install global-create-react
npm start
config['state1'] = export default {
state: {// 目前支持state必须是一个对象,不支持重新赋值
count: 0,
urlParam: null,
},
mutations:{
add(state, data) {
state.count = data;
},
changeUrlParam(state, data) {
state.urlParam = data;
}
},
actions: {
async add({commit, store}, {count}) {
setTimeout(function () {
commit('add', store.count + count);
}, 1000);
},
async changeUrlParam({commit}, {data}) {
setTimeout(() => {
commit('changeUrlParam', data)
}, 2000);
}
},
}
export default config;
// 文件: createStore.js
import { createProviderAndConnect, createStore } from '../../src/index';
import stateConfig from './modules';
const state = createStore(stateConfig);
const context = createProviderAndConnect(state);
const Provider = context.Provider;
const connect = context.connect;
export {Provider, connect};
import { Provider } from './createStore';
ReactDOM.render(
<Provider>
<Router history={history}>
<Switch>
<Route path="/app/:count" component={App} />
<Redirect to="/app" />
</Switch>
</Router>
</Provider>,
document.getElementById('app'));
import { connect } from './createStore';
export default connect(() => {
// 类似react-redux的mapStateToProps
})(Component)
用来生成Provider,以及connect
用来生成state
组件默认发起的action,只有action调用commit之后,组件才会被渲染
组件默认的必选参数,参数也可以来自state,当参数不满足要求的时候,会显示tyepError的值
当有默认的autoAction, 请求过程中显示的元素
当必选参数不满足要求的时候,显示的元素
当autoActions有很多个的时候,告诉你目前有那些action正在请求
默认值,必须是一个对象
所有的异步操作
所有的同步操作,state只有在这里面才会被改变
异步操作触发器
通过操作触发器,只有在dispatch里面可用