弄了一个简单而强大的状态管理库,欢迎大家来 Star 吼

2018-01-30 21:13:51 +08:00
 unadlib

以 React 为主的开发过程中,用过主流的两大状态管理工具 Redux 和 Mobx。但在我使用它们时,逐渐地感觉到了一些不太好的地方:Redux 使用过程有点冗余和拖沓,而尽管 Redux 也有中间件,但 Redux 带来的收益和它官方说的一样:仅仅只是一个纯的状态容器而不是状态管理;而基于 Observable 的状态管理库 Mobx 则侵入性强,且丢失状态类型的原始性(被 Observable 实例化),以及因此而导致一系列限制与困扰。

所以,我期待有一个更好的状态管理库出现。我希望它基于 Mutable 结构,状态操作高效直接,而且不应破坏状态数据类型的原始性;同时它也支持 Immutable 输出,兼顾 Mutable 的有利于编程和操作;然后它应该是渐进式的,可以是简洁的,也能是强大的,不会因过多的繁琐冗余操作以及复杂概念而破坏编程乐趣。

因此,我试着构建一个这样状态管理库: iFlow。 https://github.com/unadlib/iflow


iFlow 支持特性

🎯支持普通 function 和 class - 它很简单,同时也可设计符合各种需求状态管理架构。

🏬Store 组合 - Store Tree 可以很容易共享操作 Store 节点。

⚡动态和热插拔 - 可自由插拔 State 和 Action。

💥支持异步 function 以及其他类型的 function - 可任意组合 Action 或由内部其他内部 Action 相互组合。

🚀强大的中间件 - 中间件可以拦截控制和处理全部的 State 变化和 Actions 运行。

🔥Store 支持 immutable - Store 是支持被处理成 immutable 的 Store。


iFlow 希望能为开发者解决在状态管理架构和设计上可能遇到的困扰,小型项目能够更简单轻量化,大型项目又能够高效地各种深度设计。

如果你对 iFlow 感兴趣的话,非常欢迎来尝试看看,同时也非常欢迎提交 PR 和 issue。

目前 iFlow 部分文档已提供,同时后续文档也将继续完善中。

如果感觉它还不错,特别欢迎给 iFlow 一个 star⭐️,谢谢鼓励哈!!!

https://github.com/unadlib/iflow

1313 次点击
所在节点    程序员
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/427227

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX