Skip to content
This repository has been archived by the owner on Nov 27, 2021. It is now read-only.

Releases: redux-model/redux-model

v9.0.6

16 Jul 06:22
Compare
Choose a tag to compare

[重构] 完善Map和Set的浅对比逻辑,减少重渲染概率
[修复] 在ESM中未能正确识别代码是否已被压缩

v9.0.4

14 Dec 12:50
Compare
Choose a tag to compare

修复react-redux浅对比无法处理Map和Set对象

v9.0.3

08 Dec 05:19
Compare
Choose a tag to compare

Taro service在httpResponse参数中增加config属性

v9.0.2

02 Nov 03:24
Compare
Choose a tag to compare

[修复] 模块循环引用的问题

v9.0.1

01 Nov 04:14
Compare
Choose a tag to compare

[修复] 在不支持Proxy的环境中immer报错问题

v9.0.0

21 Oct 16:17
Compare
Choose a tag to compare

Breaking

  • 重构 自动引入了 reduxreact-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操作

v8.2.2

29 Sep 09:49
Compare
Choose a tag to compare
  • Support es modules
  • HttpService add property onRespondSuccess to instead of transformSuccessData
  • Improve performance of redux

  • 支持es模块
  • 服务类增加属性onRespondSuccess以代替旧属性 transformSuccessData
  • 提升redux性能

v8.2.1

23 Sep 15:34
Compare
Choose a tag to compare
  • Trigger onStoreCreated() after persist is done

  • onStoreCreated()的触发时间推迟到persist恢复之后

v8.2.0

16 Sep 16:10
Compare
Choose a tag to compare
  • Support graphql request

  • 支持Graphql请求

v8.1.3

11 Sep 11:07
Compare
Choose a tag to compare
  • Property compose support literal string default and redux-devtools

  • compose选项支持字符串defaultredux-devtools
const store = createReduxStore({
  compose: process.env.NODE_ENV === 'production' ? 'default' : 'redux-devtools',
});