concent

服务于 react 的增强型状态管理方案
授权协议 MIT
开发语言 JavaScript
所属分类 手机/移动开发、 React 开源项目
软件类型 开源软件
地区 国产
投 递 者 秦珂
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

concent 是一个服务于 react,兼容 redux 生态的渐进式 & 高性能状态管理方案,基于依赖标记、引用收集和状态分发原理工作,通过独有的实例上下文机制增强组件能力,抹平类组件和函数组件的生命周期函数写法差异,内置 computed、watch、setup、event 等高级特性,让逻辑复用更优雅、组件表现形式更丰富、应用架构更稳健。

特性

  • 极简的核心api,`run`载入模块配置启动concent,`register`注册组件,无需包一层`Provider`在根组件。
  • 0入侵成本接入,不改造代码的情况下直接接入;[hello-concent](https://stackblitz.com/edit/cc-course-hello-concent-simple)
  • 贴心的模块配置,除了`state`,还提供`reducer`、`computed`、`watch`和`init`四项可选定义。
  • 灵活的数据消费粒度,支持跨多个模块场景,以及模块内stateKey级别的细粒度控制。
  • 渐进式构建react应用,除了`setState`,支持`dispatch`、`invoke`调用来让ui视图与业务逻辑彻底解耦。[从class到function](https://stackblitz.com/edit/cc-multi-ways-to-wirte-code)
  • 组件能力增强,支持实例级别`computed`、`watch`定义,支持`emit&on`,以及支持`setup`特性,让函数组件拥有定义静态api的能力。
  • 高度一致的编程体验,`hoc`、`render props`和`hook`3种方式定义的组件均享有一致的api调用体验,相互切换代价为0。[多种方式定义组件](https://stackblitz.com/edit/cc-4-render-mode)
  • 渲染性能出众,内置`renderKey`、`lazyDispatch`、`delayBroadcast`等特性,保证极速的渲染效率。[长列表精准渲染](https://stackblitz.com/edit/concent-render-key?file=BookItem.js)、[批处理状态提交](https://stackblitz.com/edit/concent-lazy-dispatch?file=runConcent.js)、[高频输入场景状态延迟分发](https://stackblitz.com/edit/concent-delay-broadcast)
  • dom层级干净,对于class组件,默认采用反向继承策略,让react dom树的层级结构保持简洁与干净。
  • 扩展中间件与插件,允许用户定义中间件拦截所有的数据变更提交记录,做额外处理,也可以自定义插件,接收运行时的发出的各种信号,按需增强concent自身的能力。
  • 去中心化配置模块,除了`run`接口一次性配置模块,还提供`configure`接口在任意地方动态配置模块。
    模块克隆,支持对已定义模块进行克隆,满足你高维度抽象的需要。

  • 状态管理是一个前端界老生常谈的话题了,所有前端框架的发展历程中都离不开状态管理的迭代与更替,对于react来说呢,整个状态管理的发展也随着react架构的变更和新特性的加入而不停的做调整,作为一个一起伴随react成长了快5年的开发者,经历过reflux、redux、mobx,以及其他redux衍生方案dva、mirror、rematch等等后,我觉得它们都不是我想要的状态管理的终极形态,所以为了

  • Content Type 大全 .* = application/octet-stream .001 = application/x-001 .301 = application/x-301 .323 = text/h323 .906 = application/x-906 .907 = drawing/907 .a11 = application/x-a11 .acp = audio/x-mei

 相关资料
  • 我们为您提供了用车报告这一管理增值服务,包括用车次数分析、用车类型分析、用车时间段分析等多种功能,帮助您合规管理企业,实现员工出行管理透明。

  • 编辑:我重写了这个问题,以澄清我想要的--感谢到目前为止回复我的人,帮助我磨练它。 在这个人为的示例中,状态有两个主要区域,分别由和键访问。 键指向一个以作者ID为键的对象,该ID指向一个带有一些作者数据的对象。 键指向一个对象,该对象键控于具有某些发布数据的发布的ID以及一个作者数组。 从这个答案来看: reactJS-是否在调用“setstate”时调用render? React组件的函数将在

  • 来自服务器的数据以及是否挂起或导致错误 UI状态如切换,警报和错误消息 自定义主题,凭据和本地化 许多其他类型的状态 Redux using ng2-redux Angular Services and RxJS(推荐)

  • 管理应用程序状态是个难题。您需要在多个后端,Web workers和UI组件之间进行协调。 像Redux和Flux这样的模式旨在通过使这种协调更加明确来解决这个问题。在本文中,我将展示如何使用RxJS在几行代码中实现类似的模式。然后我将展示如何使用这种模式来实现一个简单的Angular 2应用。 在谈论架构模式时,我喜欢从描述其核心属性开始。你可以写在餐巾背上的东西。The devil, of c

  • 建议使用基于redux封装出来的rematch, anujs也自带了这个框架。 rematch的官网 https://github.com/rematch/rematch resolve: { alias: { react: "anujs", "react-dom": "anujs", rematch: "anujs/dist/Rematch.js

  • Redux应用程序中的Reducer不应该改变state,而是返回一个副本,并且无副作用。 这鼓励你把你的应用程序想象成从一系列事件中“计算”的UI。 让我们来看看一个简单的计数器reducer。 我们可以看到,我们正在传递一个初始状态和一个动作。为了处理每个动作,我们设置了一个switch语句。而不是每个reducer需要显式订阅分发器,每个动作都会传递到每个reducer,它处理它感兴趣的动作

  • https://codesandbox.io/s/ww49ef?file=/TasksContext.js&utm_med... 模仿以上官网的示例:出现了 dispatch is not a function 报错?请问为何?

  • 主要内容:基于 xinetd 服务的启动,基于xientd 服务的自启动本节学习基于 xinetd 服务的管理方法。基于 xinetd 的服务同样有启动管理和自启动管理之分,而且不管是启动管理还是自启动管理,都只有一种方法,相比独立的服务简单一些。 基于 xinetd 服务的启动 基于 xinetd 的服务没有自己独立的启动脚本程序,是需要依赖 xinetd 的启动脚本来启动的。xinetd 本身是独立的服务,所以 xinetd 服务自己的启动方法和独立服务的启动方法