React 16.6引入了Suspense,它能够在某些时候(比如通过API调用获取数据)暂停渲染并展现一个加载中的指示器。

在常见的简单场景中,React Suspense消除了使用Redux的必要性,React专家Ryan Florence这样说到:

如果你使用Redux的主要场景是将其作为服务端数据的客户端缓存,那么Suspense可以取代对Redux的使用。我之所以考虑这样做是因为这样能够让代码更简洁,同时能够有效管理spinner。

对于更复杂的状态管理,比如同步状态到API和localStorage,Redux这种方式所提供的价值超过了Suspense。

Bartosz Szczeciński是来自波兰GFT的软件工程师,他认为Suspense将会对React的使用产生重要的影响:

我们可能会看到许多库会率先采用这种解决方案,并且必须调整我们的最佳实践(在Render中调用AJAX请求突然间变得可行了),但我相信通过这种方式我们能够为用户创建更好的应用程序和体验!

React 16.6发布版本只包含了Suspense的一个使用场景,即通过React.lazy()\u0026lt;React.Suspense\u0026gt;实现懒加载组件。React优化代码切分的方式以及Suspense的用法都包含在React代码切分指南文档中。

除了代码切分之外,React团队还计划为Suspense添加额外的功能,包括处理数据抓取以及与GraphQL库的集成。

Suspense服务端渲染的支持计划在2019年实现。

React是遵循MIT许可证的开源软件。React鼓励开发者在遵循React贡献指南和Facebook开源准则的前提下,通过React GitHub项目为其做出贡献和提供反馈。

查看英文原文:React Suspense Provides Redux Alternative

React Suspense提供Redux的替代方案相关推荐

  1. react 日历组件_anujs1.5.1支持React.Suspense与lazy

    React16是一个实验版本,除了测试它的新fiber架构外,还添加了大量新功能.其他React.Suspense与React.lazy就是重磅中的重磅. 随着前端的APP化,不断集成功能,页面越来越 ...

  2. react-redux图解_如何将React连接到Redux —图解指南

    react-redux图解 by Princiya 由Princiya 如何将React连接到Redux -图解指南 (How to connect React to Redux - a diagra ...

  3. react hooks使用_何时使用React Suspense和React Hooks

    react hooks使用 React Suspense对Monad就像钩子对应用符号一样 (React Suspense is to a Monad as Hooks are to Applicat ...

  4. 如何react中使用redux和react-redux

    Redux Redux 是 JavaScript 状态容器,提供可预测化的状态管理. 可以让你构建一致化的应用,运行于不同的环境(客户端.服务器.原生应用),并且易于测试. 不仅于此,它还提供 超爽的 ...

  5. React Native集成Redux框架讲解与应用

    学过React Native的都知道,RN的UI是根据相应组件的state进行render的,而页面又是由大大小小的组件构成,导致每个组件都必须维护自身的一套状态,因此当页面复杂化的时候,管理stat ...

  6. Recoil是React新的“Redux”吗?

    Recoil 是一个新的 React 状态管理库,它允许您以 Reactish 的方式管理全局/可共享状态.Recoil是由 Facebook 团队开发的.在这篇博客中,我们将看看 useRecoil ...

  7. 【React+TS】从零开始搭建react+typescript+router+redux+less+px2rem自适应+sass+axios反向代理+别名@+Antd-mobile

    一.通过create-react-app脚手架创建项目 npx create-react-app testproject --template typescript 在vscode中打开项目,可以看到 ...

  8. react项目搭建,步骤最全,附源码git地址(react+router+typescript+redux+axios+antdesign+mock+eslint)

    企业级react项目搭建流程,基于官网推荐脚手架create-react-app搭建的项目基本框架,在该基础上增加项目所需要的功能插件等.代码git地址base分支:https://github.co ...

  9. React入门-9.redux你好

    Redux入门 1. 介绍 redux是js的状态管理机制,与vuex类似,不过vuex是为vue定制的.而redux并非仅仅服务于react,在jquery,angular,甚至于原生的js中都可以 ...

最新文章

  1. V4L2 driver(一). 整体框架
  2. 【Flask】数据的CRUD操作之聚合函数
  3. Kotlin实践(2)-生成jvm程序
  4. WebGL 利用FBO完成立方体贴图。
  5. 机器学习实战-第二章代码+注释-KNN
  6. Visual Studio 2015 自动生成 的大文件xxx.vc.db的删除问题
  7. 字节跳动 MySQL 学习笔记火了,完整版开放下载!
  8. 快速搭建Nextcloud+OnlyOffice私有云办公平台
  9. 的有效 海思编码_【最佳案例展示】2020年CUVA“超高清视频创新产品与解决方案”全球首款8K@120解码芯片海思Hi3796CV300...
  10. 吃鸡 反作弊服务器未运行,绝地求生反作弊服务(BE)修复工具
  11. 软件测试技术之如何编写测试用例
  12. 51单片机之控制转移指令SJMP、LJMP等
  13. 干货 | 携程平台化常态化数据治理之路
  14. AndroidStuodio编译失败报错:Entry name ‘assets/sm2/t.jks‘ collided解决方案
  15. JVAV面试常考基础概念
  16. [Excel知识技能] 将数值格式数字转换为文本格式
  17. 网络营销策略——4P
  18. 塔塔露也能学会的算法(1) | dijkstra从入门到放弃
  19. Failed to load ‘D:\note\笔记\javaweb\webpack\webpack.config.js‘ config
  20. Termux 速成指南

热门文章

  1. swift 2.2 语法 (上)
  2. JSON serializing and deserializing using JSON.NET
  3. C++0x,崭新的C++,还是另一个JAVA?
  4. 用spring搭建微信公众号开发者模式下服务器处理用户消息的加密传输构架(java)
  5. 批改网禁止粘贴怎么破_重大利好!教育部声明,要求家长批改作业等行为,发现一起严处一起...
  6. linux here用法,linux shell的here document用法(cat EOF)
  7. java导出excel float_【Java】导入导出Excel表格
  8. fusioncharts json java,FusionCharts使用教程:利用XML/JSON属性加载外部LOGO
  9. iconfont 图标转为字体_App 中使用 Iconfont 的整套方案
  10. php7与apache整合,apache集成php7.3.5的详细步骤