concent - 服务于 react 的增强型状态管理方案
MIT
跨平台
JavaScript
软件简介
concent是一个服务于react,兼容redux生态的渐进式&高性能状态管理方案,基于依赖标记、引用收集和状态分发原理工作,通过独有的实例上下文机制增强组件能力,抹平类组件和函数组件的生命周期函数写法差异,内置computed、watch、setup、event等高级特性,让逻辑复用更优雅、组件表现形式更丰富、应用架构更稳健。
✨特性
- 极简的核心api ,
run
载入模块配置启动concent,register
注册组件,无需包一层Provider
在根组件。 - 0入侵成本接入 ,不改造代码的情况下直接接入;hello-concent
- 贴心的模块配置 ,除了
state
,还提供reducer
、computed
、watch
和init
四项可选定义。 - 灵活的数据消费粒度 ,支持跨多个模块场景,以及模块内stateKey级别的细粒度控制。
- 渐进式构建react应用 ,除了
setState
,支持dispatch
、invoke
调用来让ui视图与业务逻辑彻底解耦。从class到function - 组件能力增强 ,支持实例级别
computed
、watch
定义,支持emit&on
,以及支持setup
特性,让函数组件拥有定义静态api的能力。 - 高度一致的编程体验 ,
hoc
、render props
和hook
3种方式定义的组件均享有一致的api调用体验,相互切换代价为0。多种方式定义组件 - 渲染性能出众 ,内置
renderKey
、lazyDispatch
、delayBroadcast
等特性,保证极速的渲染效率。长列表精准渲染、批处理状态提交、高频输入场景状态延迟分发 - dom层级干净 ,对于class组件,默认采用反向继承策略,让react dom树的层级结构保持简洁与干净。
- 扩展中间件与插件 ,允许用户定义中间件拦截所有的数据变更提交记录,做额外处理,也可以自定义插件,接收运行时的发出的各种信号,按需增强concent自身的能力。
- 去中心化配置模块 ,除了
run
接口一次性配置模块,还提供configure
接口在任意地方动态配置模块。
模块克隆,支持对已定义模块进行克隆,满足你高维度抽象的需要。