1、增加mvvm特性,修改reducer代碼不再需要使用擴展符,直接改變數據即可
interface Data {
info: {
name: string;
age: number;
};
}
class Test extends Model<Data> {
runAction = this.actionNormal({
action: () => {
return this.emit();
},
onSuccess: (state, action) => {
// 只需要這一行就可以輕鬆改變reducer,不需要return
state.info.age = 30;
},
});
}
--------------------------------------------
Redux模型是對原生redux的一次面向對象封裝,OOP方案可以實現隱藏重複代碼、提高工作效率以及減少開發時間的效果。你只需要花半個小時,就能完全了解模型的用法,並從中受益。
原生redux | redux-model-ts | |
---|---|---|
寫法 | 函數式 | 面向對象 |
action與reducer文件分離 | 要 | 不要 |
對ts的支持 | 一般 | 完美 |
定義types | 要 | 內置 |
非同步請求 | thunk 或 saga | 內置 |
非同步loading狀態 | 寫reducer處理 | 內置 |
代碼量 | 多 | 少一半 |
[admin
]