@chaoswise/cw-mobx
v0.0.16
Published
公共状态管理工具
Downloads
45
Readme
- 安装
npm install cw-mobx -S
- 注册store(遵循以下约定)
const store = {
// 唯一命名空间
namespace: 'store',
// 状态
state: {
num: 0,
},
// 副作用actins,处理异步请求 (函数生成器)
effects: {
*addNumSync() {
const res = yield getDemoApi(); // 异步请求
this.num = res.data;
this.addNum();
}
},
// 状态修改actions
reducers: {
addNum() {
this.num = this.num + 100;
}
},
// 计算属性
computeds: {
getDoubleNum() {
return this.num * 2;
}
}
};
- 入口注入store
import React from 'react';
import { Provider, use } from '@chaoswise/cw-mobx';
import store from './store';
import Router from './Router';
// 生成stores 传入数组
const finalStores = use([store]) // 可传入多个 最终按namepace生成相关store
function Root() {
return (
<Provider
{...finalStores}
>
<Router />
</Provider>
);
}
export default Root;
- 通过conncet高阶组件注入依赖(props)
export defalut connect(({
store // 命名空间
}) => {
return {
// 按需引入store
};
})(Component);