如果你刚刚开启web开发生涯的人生,并且已选择使用 React,或者你正在考虑使用它,那么你可能会碰到很多问题。这里收集了一些关于 React 的常见问题,都关于 React 的各个方面。
1.什么是反应?
React 或 ReactJS,有时被称为是一个 Javascript 库,用于为 Web 应用程序和网站构建交互式用户界面,旨在最大限度地减少为 Web 应用程序和网站创建用户界面所花费的时间和精力。该项目于 2013 年开源,现在由 Facebook 以及来自世界各地的个人开发人员和公司维护。
2. React 是框架还是库?
第一点已经说明了React 是一个库,这里进一步解释为什么它是一个库而不是一个框架。
框架和库之间的一个关键区别是框架定义了代码的结构和架构。它决定了你的应用程序的开发方式。你可以将其视为房屋的模板。另一方面,库更像是你可以添加到现有房屋中的家具和房屋配件。
库是在开发过程中执行常见重复功能的程序的集合。因此,就像家具一样,你可以将库添加到现有代码库中以供使用。这正是 React 的设计方式。它可用于为你的应用程序创建 UI 组件或编辑以前使用 HTML 创建的 UI 组件。你定义你想如何使用它,这与框架的功能形成鲜明对比。
3. React 是由什么语言组成的?
React 是一个 Javascript 库,因此它是用 Javascript 制作的。要使用它,就要使用 Javascript。或者,你可以选择使用 JSX 或 Javascript eXtension(一种 XML-Esque 语言)来构建 UI 组件。 JSX 语法仍将转换为等效的 Javascript,但它更容易编写。
由于 React 的流行,几乎所有转换为 JavaScript 的语言(TypeScript、Flow、ReasonML、ClojureScript、PureScript 等)都有绑定。
4. 什么时候使用 React?
React 最初是由 Facebook 作为 Javascript 库发布的,用于为 Web 构建用户界面。从那以后,它已经超越了这一点。 2015 年,Facebook 发布了 React Native 一个跨平台的移动框架,它利用 React 为 Android 和 iOS 构建用户界面。
5. 是否需要额外设置?
设置 React 并不像启动一个设置文件那么简单,它涉及很多过程,除了安装 React 库本身之外,你还需要安装其他包和大量配置才能拥有完整的 React 开发环境。
需要安装 webpack 和 babel 等包并配置它们以拥有完整的 React 开发环境。你可能可以跳过安装这些包并在没有它们的情况下开发简单的项目,但对于较大的项目,你应该安装它们。
6. 可以添加到现有项目中吗?
React 作为一个库可以与现有项目一起使用。在你的系统上设置好之后,你需要做的就是将 react 和 react-dom 脚本标签添加到你现有的 HTML 代码中,然后调用包含你使用脚本标签创建的组件的 Javascript 文件。然后你放置一个 div 标签,将组件名称作为它的 id,放在你想要放置 React 组件的地方,你就可以开始了。
7. React 是否支持渐进式迁移?
React 的设计方式使其易于逐渐适应。你可以只使用其中的一些功能,而将其他功能排除在外。随着时间的推移,你可以在你的代码库中包含更多的 React 特性。像 Netlify 这样的流行公司已经成功地从其他 JavaScript 库/框架迁移到 React,这样做是渐进的。
8. 如何托管 React 应用程序?
React 应用程序可以像任何其他 Web 应用程序一样托管。你可以选择很多选项。你可以在 Github Pages、Netlify、Heroku 和许多其他网站上托管你的 React 应用程序,尽管这些更适合静态网站。对于动态站点,你可能需要考虑 AWS、Microsoft Azure 或 Google Cloud 等解决方案。
你还可以决定在托管之前使你的网站在服务器端呈现、客户端呈现或预呈现。你的用例将确定这三个中的哪一个最适合你。 React 支持所有这三种渲染方法。 React 应用程序默认是客户端渲染的。
但有时,你可能需要一些服务器端渲染应用程序带来的优势,如 SEO 和感知性能。但是,如果你的大部分网页只能在登录页面后访问,那么服务器端应用程序就不值得了。客户端呈现的网站将更适合你的目的。
9. React开发者的体验是怎样的?
总的来说,一旦你安装了所有必要的包,使用 React 进行开发是很容易的。但是你必须首先设置你的开发环境,这涉及安装多个软件包并进行顺利和无故障开发所需的配置。
要开发 React 应用程序,你需要使用 JSX 和 Javascript。如果你以前一直在开发网站,那么你会选择 Javascript。另一方面,JSX 是特定于 React 的,需要一点时间来学习它。虽然它是可选的,但它使编写 React 组件更容易。
React 还支持充分利用 HMR(热模块重新加载),允许你即时更新应用程序,而无需重新加载页面。
10. React 生态系统是什么样的?
有很多工具和库可用于帮助你使用 React 进行开发。有状态管理工具、格式化、类型检查、身份验证、测试等等。它们一起形成了一种框架,但具有更大的灵活性,因为其中一些工具具有多个选项。
11. React 的性能如何?
React 非常快,这是因为一个主要原因,即虚拟 DOM。 DOM 或文档对象模型是 HTML 代码的表示。这就是让 Javascript 能够操作 HTML 元素的原因。它利用 DOM API 来实现这一点。不幸的是,由于现代网站的性质,操纵 DOM 可能会令人厌烦。
React 虚拟 DOM 是你与 React 交互的实际 DOM 的更简单副本。它不会在每次状态发生变化时重新加载整个 DOM,而是重新创建 React DOM 并使用差异算法将其与之前的版本进行比较。然后它指示 DOM 仅重新加载受影响的区域。这显着减少了更新页面所需的时间。
发表评论 取消回复