action``reducer``saga
。分层解耦
,不耐烦的建立一个又一个模板文件。action``reducer``saga
。action
和reducer
。saga
,又不破坏原有的耦合特性,故采用约定大于配置,在action的方法名前加_
的方式。action``reducer``saga
的功能集中于一处,不须要任何的附加api学习成本。建立配置html
@注: 使用ts及class是为了代码提示方便,若是不须要可参考js版npm
import {creator, BaseConfig} from "./reduxFactory";
class Test extends BaseConfig {
namespace = 'test';
initState = {
num: 1
};
add = (payload: {
number: number
}, state?: any) => {
return {
num: state.num + payload.number
}
};
_add = function *() {
yield console.log('啦啦啦');
};
}
export default creator<Test>(new Test());
复制代码
使用配置编程
// reducer
import { combineReducers } from 'redux'
import Test from "../Test";
export default combineReducers({
test: Test.reducer
})
// saga
import {all} from "redux-saga/effects";
import Test from '../Test';
export default function* () {
yield all([
Test.saga()
]);
};
复制代码