内容简介:本次更新内容 Breaking 重构 自动引入了 redux 和 react-redux,请将项目中相关的库删除 yarn remove redux react-redux @types/react-redux - import { Middleware } from 'redux' + import { Middleware }...
本次更新内容
Breaking
- 重构 自动引入了
redux 和 react-redux,请将项目中相关的库删除
yarn remove redux react-redux @types/react-redux
- import { Middleware } from 'redux'
+ import { Middleware } from '@redux-model/react'
- import { Provide } from 'react-redux'
+ import { Provide } 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操作
redux 和 react-redux,请将项目中相关的库删除yarn remove redux react-redux @types/react-redux
- import { Middleware } from 'redux' + import { Middleware } from '@redux-model/react' - import { Provide } from 'react-redux' + import { Provide } 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 属性,缺少使用场景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
---------------------------------------------
Redux Model
Redux-Model是为了弥补原生Redux繁琐的开发流程,开发者重复劳动效率低下,模板文件导致代码量臃肿,以及因action和reducer文件分散造成代码追踪困难的问题而设计的。
特性
- 深度封装,模块化开发
- 使用mvvm快速处理reducer
- ????真正意义上的Typescript框架,写起来比JS更流畅
- 内置http服务,请求action自带loading追踪、数据节流
- 支持React/Vue Hooks
- 支持数据持久化
- 支持Graphql请求
- 支持代码分离
以上所述就是小编给大家介绍的《Redux Model 9.0 发布,诸多改进》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- FreeBSD 13.0-RC1 发布:改进 TCP 性能、修复和改进 SCTP
- Webpack 5 发布,主要做架构改进
- Gradle 6.7 发布,增量构建改进
- Gitlab 12.2 发布,改进团队协作
- Rider EAP 22 发布,改进单元测试
- WebStorm 2018.2 发布,改进 TypeScript 支持
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
大数据系统构建
Nathan Marz、James Warren / 马延辉、向磊、魏东琦 / 机械工业出版社 / 2017-1 / 79.00
随着社交网络、网络分析和智能型电子商务的兴起,传统的数据库系统显然已无法满足海量数据的管理需求。 作为一种新的处理模式,大数据系统应运而生,它使用多台机器并行工作,能够对海量数据进行存储、处理、分析,进而帮助用户从中提取对优化流程、实现高增长率的有用信息,做更为精准有效的决策。 但不可忽略的是,它也引入了大多数开发者并不熟悉的、困扰传统架构的复杂性问题。 本书将教你充分利用集群硬件优势的La......一起来看看 《大数据系统构建》 这本书的介绍吧!