当前位置: 首页 > 科技观察

React18正式版发布,未来发展趋势如何?

时间:2023-03-15 13:08:47 科技观察

大家好,我是Kason。2022年3月29日,React18正式版发布。从v16开始,React团队一直在普及并发的概念。在v18(alpha,Beta,RC)的迭代过程中,并发特性已经普及,所以正式版发布的时候,并没有新的特性。本文主要讲解v18发布日志中透露的一些未来发展趋势。开发人员可能不会接触并发功能。React对添加API非常谨慎。自2013年诞生以来,触发更新的方式就是this.setState。介绍完并发的概念后,有几个和并发相关的API,比如:useTransition。使用延迟值。甚至还有并发的API(就是在并发的情况下,不使用这些API可能会出现bug),比如:useSyncExternalStore。使用插入效果。一下子多了那么多API,但不是像useState这样的API不使用就不能用。而且,并发这个特性对于大多数前端开发者来说有些陌生。你可以代入自己的业务,想想开发者上手使用并发特性的难度有多大。因此,对于未来使用v18开发的应用程序,“开发人员可能无法访问并发功能”。这些特性更有可能被各种库封装。例如:startTransition允许用户在不阻塞用户输入的情况下在不同的视图之间切换。这个API很可能会被各种路由器实现,然后作为配置项开放给开发者。万物皆可悬念对于React,有两类瓶颈需要解决:CPU瓶颈,比如大规模操作导致页面卡顿。IO的瓶颈,比如向服务器请求数据的等待时间。CPU的瓶颈是通过并发特性的优先级中断机制来解决的。IO瓶颈交给Suspense解决。因此,以后所有IO相关的操作都会汇聚到Suspense方案中。从最初的React.lazy到还在开发中的ServerComponents,Suspense终于面面俱到。其中一些逻辑非常复杂,例如:ServerComponents。新的服务器端渲染方案。因此,这些操作不太可能直接面向开发者。这就要追溯到上一篇了,这些操作都会由各个库来实现。如果复杂度更高,会采用基于React封装的框架实现,比如Next.js、Remix。这也是为什么React团队的核心人物Sebastian会加入Next.js的原因。可以说,React未来的定位是:一个前端底层操作系统,足够复杂,一般开发者慎用。开发者使用“基于操作系统的各种上层应用程序”。综上所述,如果说v16之前的各种ReactLike库还能凭借体积和性能优势分一杯羹,那么两者未来会走上两条轨道,因为两者的生态已经不兼容了.未来不再有React全家桶的概念,桶中的每一个组件最终都会缩减为更大框架中的一个小模块。您目前在业务中是直接使用React,还是使用各种框架(例如Next.js)?