关于react.js:如何在2023年学习React

47次阅读

共计 2784 个字符,预计需要花费 7 分钟才能阅读完成。

在 2023 年学习 React 并不是一件容易的事件。自 2019 年 React Hooks 公布以来,咱们曾经领有了很多稳定性,但当初局势正在再次变动。而这次变动可能比应用 React Hooks 时更加不稳固。在本文中,我想比拟两种学习 React 的形式:以库的形式和以框架的形式。

为了让事件更加清晰:React 公布了新的文档,并倡议将 React 用于齐全集成的框架中。文档主张应用一个(元)框架(例如 Next.js),而不是将 React 作为库(或框架)在像 Vite 或 Parcel 这样的打包工具中应用。我对此的认识是,在框架最终成为默认选项之前,依然倡议应用其余 React 启动工具,而不仅仅是齐全集成的 React 框架,以使转变更加容易。

技术是个圈

谁不晓得这个技术短语是来自讥笑行将到来的不可避免变动的高级开发?没错,咱们发明,学习,适应。始终以来都是这样,这是反馈循环的实质。

开发者也对 Web 开发的以后状态发表了相似的认识:在大概 2000 年到 2010 年,咱们在 PHP、Java、C# 中,将 Web 应用程序实现为服务器端应用程序(SSR – 服务端渲染 / 服务端路由),接着是 Ruby on Rails。他们将越来越多的 JavaScript(例如 jQuery、MooTools、Dojo)混合在一起,以改善客户端的用户体验。

在 2010 年,局势转向了以客户端为主的应用程序(CSR – 客户端渲染 / 客户端路由),这是在单页应用程序(SPA)这个总称下的残缺 JavaScript 解决方案。

  • 第一代:Backbone,Knockout,Ember,Angular
  • 第二代:React,Vue
  • 二点五代:Svelte
  • 第三代:Solid,Qwik

现在,许多人将 SPA 称为 Web 开发历史上的谬误。

然而,SPA 有其存在的意义,而且 SPA 成为 JavaScript(以及起初的 TypeScript)作为 Web 利用框架腾飞的条件,并得出将 JavaScript/TypeScript 用于 SSR 的论断,因为底层技术的缺失(例如短少 HTTP 流)使咱们以前(到目前为止)无奈实现它。

服务端的 React

总之,这种作为 SPA 的 web 应用程序的状态大概继续了 10 年…

当初圆圈曾经闭合了,因为咱们正在回到应用 React 和许多其余框架的 SSR;每个框架(Vue、Svelte、Solid、Qwik、Angular)都相互影响着。

尽管许多非原生 JavaScript 开发人员讥笑这种转变是“回到了过来”(参见 2000-2010 年),或者是“JavaScript 在模拟 PHP”,然而他们疏忽了与上一个周期相比的所有改良(例如局部 / 选择性水合、服务端组件作为架构模式、可恢复性)。

JavaScript(更好的说法是 TypeScript)是 SSR Web 应用程序的一等公民。

它将是下一个十年咱们实现 Web 应用程序的形式 …

… 在人工智能接管之前(开个玩笑)。

扯远了,咱们来谈谈 React 以及如何在这些动荡的水域中学习它。

学习作为库的 React

从公布以来,React 曾经作为一个库应用了将近十年。React 开发人员始终在应用 React 与丰盛的生态系统中的许多其余互补库一起应用。React Router 就是其中一个受欢迎的库,因为它为 React 在 SPA 世界中启用了客户端路由。

大部分 React 的学习材料都将其作为一个库来传授。新的 React 文档这样做,最风行的 React 书籍《The Road to React》也是如此,还有许多其余在线教程、视频和课程。

学习 React 作为一个库时,你不会被框架分心。你能够齐全专一于学习 React 的基础知识:元素 vs 组件,React Hooks,自定义 Hooks,函数组件,事件处理器,表单,Refs,条件渲染,Props,而后再集成诸如 React 测试库或款式组件(或任何其余 React 款式解决方案)等互补的第三方库。

通常你会应用相似 Vite 的打包工具来学习 React。当打包工具在背地隐没时,你将学习如何应用 React 创立客户端路由 / 渲染的 SPA。

现在,许多 React 初学者对学习 React 作为一个库感到不确定,因为以后的说法通知咱们应该学习框架。尽管我批准将来的趋势是齐全集成的框架,然而专一于学习 React 的基础知识并不会使你学到谬误的货色。

初学者也不会错过 SSR,因为依然有许多应用程序在没有框架的状况下运行。只管 SSR 将在将来成为支流,但当初还没有达到那一步,你将很幸运地把握如何应用近程 REST / GraphQL / tRPC API,来创立客户端应用程序的历史常识。这将是你技术栈中的一项基本技能(特地是与 API 一起工作)。

学习作为框架的 React

将来,React 将作为一个提供框架所需根本构建块的库而展示。尽管开发人员过来始终可能本人应用 React 的性能,但随着 React 作为一个框架走向将来,这种状况将不再存在。

例如,React 服务端组件会与路由和数据获取亲密集成。尽管框架将依据 React 自身提供的明确定义的标准实现这个架构构建块,但日常的 React 开发人员只会将它们作为框架提供的性能来应用,因为他们不须要本人依据标准来实现它们。

这样做有充沛的理由,因为咱们心愿框架解决细节,而 React 开发人员能够专一于实现其业务逻辑。

在学习 React 作为框架时,最好的抉择是学习 Next.js。它具备基于文件的路由,许多渲染技术(CSR、SSG、ISR、SSR),其中 SSR 是一等公民,内置图像、SEO 和字体反对。它也尽可能靠近于在框架中应用 React,因为它与 React 在诸如 React 服务端组件等性能上密切合作。此外,许多 React 外围开发人员当初正在为 Vercel 工作,Vercel 是 Next.js 背地的公司。

倡议

学习 React 作为库或框架不用是一个排他性的决定。以下是我给 React 初学者的倡议:

在学习 React 作为框架的同时,不要疏忽它作为库的基础知识。例如,你能够从框架开始学习 React。最有可能的是,你会首先应用像 Next 这样的框架实现页面之间的路由转换。这个个性齐全由框架提供,而不是 React 自身。然而,一旦你接触到 React 的基础知识,比方 Hooks,回到 React 作为库的基础知识总是一个好的能源。

2023 年学习 React 的一种办法:在实现一个你感兴趣的畛域的应用程序(例如体育、动漫、游戏、电子商务、生产力、音乐)时,同时应用 React 和 Next 的文档。

你能够从 Next 的文档开始。然而每当你接触到 React 的基础知识时,回到 React 的文档中。重点关注两个实体(框架和库)的交汇处以及它们提供给你的工具。

如果你想通过补充学习资源来学习 React 的基础知识,请查看课程、视频或书籍。这些资源可能会为 React 作为库及其基础知识提供不同的视角。

以上就是本文的全部内容,如果对你有所帮忙,欢送点赞、珍藏、转发~

正文完
 0