[关闭]
@levinzhang 2018-12-06T21:36:11.000000Z 字数 887 阅读 447

React Suspense提供了Redux的替代方案

by

摘要:

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


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()<React.Suspense>实现懒加载组件。React优化代码切分的方式以及Suspense的用法都包含在React代码切分指南文档中。

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

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

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

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

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注