This repository has been archived by the owner on Nov 27, 2021. It is now read-only.
Releases: redux-model/redux-model
Releases · redux-model/redux-model
v9.0.6
v9.0.4
v9.0.3
v9.0.2
v9.0.1
v9.0.0
Breaking
- 重构 自动引入了
redux
和react-redux
,请将项目中相关的库删除
yarn remove redux react-redux @types/react-redux
- import { Middleware } from 'redux'
+ import { Middleware } from '@redux-model/react'
- import { Provider } from 'react-redux'
+ import { Provider } from '@redux-model/react'
- import { connect } from 'react-redux'
+ import { connect } from '@redux-model/react'
- 重构 模型实例方法
effects()
重命名为subscriptions()
,更具表达力
class TestModel extends Model {
- protected effects(): Effects<Data> {
+ protected subscriptions(): Subscriptions<Data> {
return [
...,
...,
];
}
}
- 重构 模型实例方法
useData
总是采用浅对比的方式获取数据,以降低组件重渲染的概率 - 重构 请求服务属性
requestConfig
重命名为requestOptions
,统一名称 - 删除 模型实例方法
autoRegister()
,模型一定是自动注册的 - 删除 模型实例方法
register()
,您无需手动注册。在代码分离时,如果您想提前注册,直接在入口import 'xyzModel'
即可 - 删除 模型构造函数中的
alias
参数,即使出现同名类,重写方法getReducerName()
即可 - 删除
HttpService.transformSuccessData
,并引入HttpService.onRespondSuccess
做为代替属性 - 删除
createReduxStore.onCombineReducers
属性,缺少使用场景
Features
- 新增 全局方法
resetStore()
,用于重置所有模型数据,并支持部分模型保留数据
import { resetStore } from '@redux-model/react';
logout().then(() => {
+ resetStore();
});
- 新增 模型实例方法
keepOnResetStore()
,用于重置数据时保护当前模型不被影响
class TestModel extends Model<Data> {
protected initialState(): Data {
return {};
}
+ protected keepOnResetStore() {
+ return true;
+ }
}
- 新增 模型静态方法
init()
,用于延迟自动注册以满足定制初始化数据的需求
interface Data {
counter: number;
}
class TestModel extends Model<Data> {
+ protected readonly initCounter: number;
constructor(p1: number) {
super();
+ this.initCounter = p1;
}
protected initialState(): Data {
return {
+ counter: this.initCounter,
};
}
}
- const testModel = new TestModel(10); // testModel.data.counter === undefined
+ const testModel = TestModel.init(10); // testModel.data.counter === 10
Fixes
- 修复 Taro-h5请求异常时未解析data
- 修复 Taro-h5请求不支持abort操作