{"repo":"heluxjs/helux","free":true,"listed":false,"github":"https://github.com/heluxjs/helux","clone":"git clone https://github.com/heluxjs/helux.git","description":"A reactive atomic state engine for React(including React 18) and all React like, carrying dependency collection feature, supporting fine-grained updates.","language":"TypeScript","stars":1387,"topics":["concent","react","state-management","state","proxy","better-redux","dependency-collection","helux","high-performance","immutable"],"license":"MIT","category":"networking-infra","readme_excerpt":"简体中文 English helux 简介 helux 是一个集 atom 、 signal 、 依赖收集 、 派生 、 观察 为一体，支持细粒度响应式更新的状态引擎，支持所有类 react 框架（包括 react 18） - Doc - Playground - Helux-react-starter - Helux-openinula-starter - Helux-preact-starter - Helux-nextjs-starter 特性简介： - 内置依赖追踪特性，基于最快的不可变 js 库limu开发，拥有超强性能 - atom 支持任意数据结构且自带依赖收集功能， 无需拆分很细，天然对 DDD 领域驱动设计友好 - 内置 signal 响应机制，实现 0 hook 编码 dom 粒度或块粒度的更新 - 内置 loading 模块，可管理所有异步任务的运行状态、并捕捉错误抛给组件、插件 - 内置 sync 系列 api，支持 双向绑定 ，轻松应对表单处理 - 内置 reactive 响应式对象，支持数据变更直接驱动关联 ui 渲染 - 内置 define 系列 api，方便对状态模块化抽象，轻松驾驭大型前端应用架构 - 内置事件系统 - 支持可变派生，适用于当共享对象 a 部分节点变化需引起其他节点自动变化的场景，数据更新粒度更小 - 支持全量派生，适用于不需要对数据做细粒度更新的场景 - 全量派生、可变派生均支持异步任务 - 全量派生、可变派生除数据变更驱动执行外，还支持人工重新触发运行 - 支持中间件、插件系统，可无缝对接 redux 生态相关工具库 - 100% ts 编码，类型安全 为了方便用户理解 helux 核心逻辑，我们提供了how-helux-was-born项目用于辅助用户做 helux 源码调试。 30s 上手 使用 npm 命令 npm i helux 安装 helux ，然后调用 atom 创建共享状态，调用 useAtom 使用共享状态，that's all，你已接入 helux 来提升局部状态为共享状态. ✨ 类 pinia 使用 基于 helux 向上封装了@helux/store-pinia，你可以像 pinia 一样管理 react 状态了，访问示例体验. 具体使用方式可参考文档 部分特性简介 以下是一些常见特性，更多特性可查阅文档里的Atom、Signal、依赖追踪、响应式、双向绑定、派生、观察、Action、模块化 等章节做深入了解 atom dep tracking 依赖追踪 ，组件渲染期间将实时收集到数据依赖 signal 信号响应 ，可将共享状态原始值直接绑定到视图 原始值响应 块响应 mutate derive 可变派生 ，响应共享状态自身某些节点变化，派生自身其他节点结果 响应其他共享状态某些节点变化，派生自身其他节点结果 full derive 全量派生 ，响应其他共享状态某些节点变化，全量派生新结果 watch 通过 watch 观察数据变化 主动定义依赖，首次不执行 设置 immediate=true ，立即执行，自动收集到依赖 📦 了解更多 欢迎入群了解更多，由于微信讨论群号 200 人已满，需加作者微信号或 qq 群号，再邀请你如 helux & hel 讨论群（加号时记得备注 helux 或 hel） ❤️‍🔥 赞赏 小小鼓励，给予我们更多力量坚持做出更好的开源项目","default_branch":null,"files":null,"tree":[],"storefront":"/r/heluxjs","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/heluxjs/helux/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}