React18正式版发布,未来发展趋势是()
大家好,我卡颂。
2022年3月29号,React18
正式版发布。
从v16
开始,React
团队就在普及并发
的概念。在v18
的迭代过程中(alpha、Beta、RC),也一直在科普并发特性
,所以正式版发布时,已经没有什么新鲜特性。
本文主要讲解v18
发布日志中透露的一些未来发展趋势。
欢迎加入人类高质量前端框架群,带飞
开发者可能并不会接触到并发特性
React
对增加API
是很慎重的。从13年诞生至今,触发更新的方式都是this.setState
。
而引入并发
概念后,光是与并发
相关的API
就有好几个,比如:
- useTransition
- useDeferredValue
并发
兜底的API
(即并发情况下,不使用这些API可能会出bug),比如:- useSyncExternalStore
- useInsertionEffect
API
,还不是像useState
这种不使用不行的API
,况且,并发
这一特性对于多数前端开发者都有些陌生。你可以代入自己的业务想想,让开发者上手使用
并发特性
有多难。所以,在未来用
v18
开发的应用,开发者可能并不会接触到并发特性。这些特性更可能是由各种库封装好的。比如:
startTransition
可以让用户在不同视图间切换的同时,不阻塞用户输入。这一
API
很可能会由各种Router
实现,再作为一个配置项开放给开发者。万物皆可Suspense 对于
React
来说,有两类瓶颈需要解决:- CPU的瓶颈,如大计算量的操作导致页面卡顿
- IO的瓶颈,如请求服务端数据时的等待时间
CPU的瓶颈
通过并发特性
的优先级中断机制解决。IO的瓶颈
则交给Suspense
解决。所以,未来一切与
IO
相关的操作,都会收敛到Suspense
这一解决方案内。从最初的
React.lazy
到如今仍在开发中的Server Components
,最终万物皆可Suspense
。这其中有些逻辑是很复杂的,比如:
- Server Components
- 新的服务端渲染方案
这又回到了上一条,这些操作会交由各种库实现。如果复杂度更高,则会交由基于
React
封装的框架实现,比如Next.js
、Remix
。这也是为什么
React团队
核心人物Sebastian
会加入Next.js
。可以说,
React
未来的定位是:一个前端底层操作系统,足够复杂,一般开发者慎用。而开发者使用的是基于该操作系统实现的各种上层应用。
总结 如果说
v16
之前各种React Like
库还能靠体积、性能优势分走React
部分蛋糕,那未来两者走的完全是两条赛道,因为两者的生态不再兼容。未来不再会有
React全家桶
的概念,桶里的各个部件最终会沦为更大的框架中的一个小模块。当前你们业务里是直接使用
React
呢,还是使用各种框架(比如Next.js
)?推荐阅读
- 极客日报|曝京东B站称裁员即毕业;报告称字节员工跳槽首选腾讯;Chrome 100发布(CPU、内存占用暴降|极客头条)
- Spring Boot 最新发布!Java 18 都加入了!!学不动了。。
- 20|20 万字《网易智企技术合辑》重磅发布!
- 极客日报|极客日报:小鹏汽车回应非法收集人脸数据被罚10万;OPPO发布首颗自研芯片马里亚纳X;AMD 3DNow指令集被Linux淘汰
- 使用Web|使用Web Deploy自动打包发布
- 运维|云原生爱好者周刊(VMware Tanzu 社区版发布,无任何限制!)
- 数据库周刊46丨阿里云发布内存数据库Tair;2020数据技术嘉年华八大看点;Oracle连接数过高案例;PG 13 Deduplication特性解读;MySQL崩溃怎么办(……)
- 《前端运维》五、k8s--3灰度发布、滚动更新与探针
- Water|Water 2.5.6 发布,一站式服务治理平台
- 让计算机教育因云而变,阿里云正式发布云原生人才培养合作计划