AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

Recoil:面向 React 的新的状态管理库

  • 2020-06-02
  • 本文字数:853 字

    阅读完需:约 3 分钟

Recoil:面向React的新的状态管理库

Recoil是 Facebook 推出的一个全新的、实验性的 JavaScript 状态管理库,它解决了使用现有 Context API 在构建较大应用时所面临的很多问题。


因为 React 主要是一个 UI 库,开发人员通常会在使用 React 的同时使用一个状态管理方案以简化数据的处理。


很多现有的状态管理方案都是基于 React 在 2014 年引入的 Flux 架构的。然而,尽管像 Redux 和 MobX 这样的库能够确保应用的状态保持一致,但是对于很多应用来讲,它们所带来的开销是难以估量的。


为了解决这个问题,React 引入了一个简单的替代方案Context API,它允许开发人员通过组件树共享数据,而不必在每个级别手动传递属性。


Recoil 为开发人员提供了另外一个解决方案,这些开发人员可能想要避免使用那些已经成熟的状态管理系统,但是又觉得 Context API 太具局限性。


如官方文档所述,Recoil 通过解决 Context API 的三个问题实现了这一点。


  1. 组件状态只能通过往上推送至公共祖先来进行共享,这可能包含一个巨大的树,随后这个树需要重新渲染。

  2. Context 只能存储一个值,而不能存储一组不确定的值,让每个值都有自己的消费者。

  3. 以上两点使得将树的顶部(状态必须要存在的地方)与树的叶子(状态被使用的地方)进行代码分离变得非常困难。


Recoil 使用 Atom 和 Selector 来管理应用的数据。每个 Atom 包含一个唯一的键和一段它将要管理的数据,而每个 Selector 代表一个衍生状态,该衍生状态可以是基于多个 Atom 的。


关于如何组合这两者,有一个非常棒的样例,那就是流行的 todo 应用,它包含了两个 Atom 和一个 Selector。


为了管理应用的数据,我们创建了两个 Atom。第一个包括原始的列表项,而第二个包含了过滤器(“已完成”、“未完成”和“全部”等)。


为了展现这个 todo 列表,我们使用 Selector 基于选中的过滤器来过滤 todo 项。


关于完整的 todo 教程和良好的入门指南,请访问官方文档


Recoil 基于 MIT 许可证发布,可以通过GitHub获取。


请注意,Recoil 只是一个实验性的解决方案,还不能在生产环境的应用中使用。


原文链接:Recoil - a New State Management Library for React


2020-06-02 09:253337

评论

发布
暂无评论
发现更多内容

不使用 JS 纯 CSS 获取屏幕宽高

南城FE

CSS 前端

ETL数据集成丨实现SQLServer数据库的高效实时数据同步

RestCloud

MySQL 数据库 ETL SqlServer 数据集成

官宣:KaiwuDB 开源啦!

KaiwuDB

KaiwuDB 开源啦

FlagEval 8月榜 | 文生视频大模型主观评测结果揭晓,新增6款新发布模型

智源研究院

如何设计真正的实时数据湖?

tapdata

实时数据湖 数据集处理流程 湖仓一体是什么

Rectangle Pro for Mac v3.0.31激活版 窗口管理布局工具

Rose

亲测兼容M1 PS2019 for mac中文直装版 附Photoshop2019破解补丁

Rose

智能引领,服务升级:哈银消费金融以科技力量重塑金融服务体验

极客天地

大模型没有“知识围城”

脑极体

AI

淘宝商品详情数据接口(商品价格,商品库存,商品销量,商品优惠券)

tbapi

淘宝商品详情数据接口 淘宝API接口

面试官:Leader崩溃Follower不够新怎么办?

王磊

Oracle数据库客户端 SQLPro for Oracle for mac v1.0.302激活版

Rose

从 0 到 1 搭建一个 No Server 的博客能学到什么

yuanyxh

前端 js React Blog

DDOS的防护方案

德迅云安全杨德俊

吴恩达辞任Landing AI CEO,专注AI投资?数学家斯蒂芬预言哲学家引领AI未来|AI日报

可信AI进展

人工智能

SRE 必备知识 - Kafka 探秘之零拷贝技术

巴辉特

kafka zero-copy

百度搜索的RLHF性能优化实践

百度Geek说

百度 算法 性能优化

网易伏羲AI Agent 技术分享:揭秘AOP框架在《永劫无间》手游Copilot的应用实践

网易伏羲

aop agent 网易伏羲 Copilot 游戏AI

利用淘宝商品评论API返回值优化商品转化率:策略与实践

代码忍者

TikTok直播网络加速方法

Ogcloud

TikTok tiktok运营 tiktok直播 tiktok直播专线 tiktok矩阵

IT行业怎么定义?需要堡垒机吗?

行云管家

堡垒机 IT行业

GalaChain 全面剖析:为 Web3 游戏和娱乐而生的创新区块链

Footprint Analytics

万亿数据规模下,火山引擎ByteHouse助力银行日志数据高效分析

字节跳动数据平台

数据库 云原生 Clickhouse 数仓

Recoil:面向React的新的状态管理库_大前端_Guy Nesher_InfoQ精选文章