NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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:253005

评论

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

百度搜索&金融:构建高时效、高可用的分布式数据传输系统

百度Geek说

分布式 计算机网络 金融 数据传输 企业号 1 月 PK 榜

一文读懂$mash 通证的 “Fair Launch” 规则,将公平发挥极致

小哈区块

ICT行业“样品”相关业务挑战及解决方案介绍

用友BIP

ICT行业供应链

如何下载和安装 Eclipse?

小魏写代码

数据高速公路:详解数仓集群通信技术

华为云开发者联盟

大数据 后端 华为云 华为云开发者联盟 华为云GaussDB(DWS)

tiktok云手机有用吗?用哪个好?

Ogcloud

云服务 TikTok 手机云服务 云服务商

跨周期,创未来!华秋喜获中国产业互联网十周年-杰出企业

华秋电子

产业互联网 产业链 产业生态

Spring 七种事务传播性介绍

vivo互联网技术

spring 事务的传播性 事务的提交和回滚

Color Folder for Mac(文件夹设计工具)v3.8激活版

影影绰绰一往直前

Hitek Software JaSFTP For Mac(FTP客户端软件)v13.08激活版

影影绰绰一往直前

专业Visio绘图文件阅读器:VSD Viewer 激活最新版

胖墩儿不胖y

Mac软件 文件查看器

简单聊聊大力发展国产堡垒机的几个原因

行云管家

网络安全 信创 堡垒机 国产化

重磅国赛开赛!中国大学生服务外包创新创业大赛飞桨双赛道开放报名

飞桨PaddlePaddle

飞桨 高校 国赛 文心一言 文心大模型

Feeder 4 for Mac(RSS编辑阅读软件)v4.5.5免激活版

影影绰绰一往直前

视频直播技术干货(十一):超低延时视频直播技术的演进之路

JackJiang

网络编程 即时通讯 IM

叮咚!融云 2023 年度「消息」已送达

融云 RongCloud

技术 即时通讯 IM 融云 通讯

RightFont for Mac(字体管理软件)v8.5.0免激活版

影影绰绰一往直前

解读 $mash 通证 “Fair Launch” 规则,将公平发挥极致

大瞿科技

新规施行推动数据资产化迈出关键一步

用友BIP

数据资产

跨国公司为什么要部署SD-WAN

Ogcloud

网络 SD-WAN 组网 组网网络

Mac电脑自动化任务软件:Hitek Software Automize Enterprise激活最新版

胖墩儿不胖y

Mac软件 任务管理器 自动化任务管理工具

制造业工厂仓库管理为什么要扫码出入库?

万界星空科技

wms WMS仓库管理 万界星空科技 仓库管理系统 扫码出入库管理

shopee虾皮商品列表数据接口(Shopee.item_search)丨shopee虾皮API接口

tbapi

Shopee shopee API shopee商品列表数据接口 虾皮商品列表数据接口 虾皮API接口

SD-WAN搭建企业多云专用网络

Ogcloud

网络 SD-WAN 组网 组网网络

一文读懂$mash 通证的 “Fair Launch” 规则,将公平发挥极致

西柚子

mac电池最大充电限制软件:AlDente Pro 激活中文版

mac大玩家j

Mac软件 电池管理工具 充电管理

互动大屏数字人系统源码的优势!

青否数字人

互动

自动 FTP 客户端 Hitek Software AbleFTP激活最新版

mac大玩家j

文件传输软件 ftp工具

如何对APP进行安全加固

音视频小程序在教育行业,短期爆发or未来趋势?

FinFish

在线教育 小程序容器 小程序技术 音视频小程序

用友签约新奥集团,共建智慧资产管理平台

用友BIP

资产管理

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