React.js是什么?React.js教程?

在本文中,我们将集中讨论掌握 React.js 所需了解的所有内容。以及为什么 React 是前端开发的未来。React 开发人员的需求量很大,因为 Yandex、Netflix、Facebook 和许多其他知名企业都在使用它。

我们将讨论 react.js 的所有基础知识,以及哪些技术和工具可用于 react 以将其实施到我们的前端设计中。


反应基础

前端是 Web 中显示给用户的部分,负责向后端(也称为服务器端)发送数据和发出请求。

以下是您在开始 Web 应用程序开发时应该了解的有关 react 的一些基础知识。


组件您可以使用 React 组件拆分用户界面,以便每个组件都可以单独重用和处理。或者,换句话说,您使用 React 创建的任何应用程序都将由所谓的组件构建。使用组件使创建用户界面变得相当简单。您可以查看一个用户界面 (UI),它分为几个单独的部分或组件,并在将它们全部合并到父组件中以创建最终 UI 之前单独处理它们。React 组件可以是“有状态的”或“无状态的”。“有状态”组件属于类类型,而“无状态”组件属于函数类型。

无状态组件示例

上面示例中的组件中添加了名为 ExampleComponent 的无状态组件。ExampleComponent 中的唯一元素是 h1。


有状态组件示例

名为 ExampleComponent 的有状态组件被添加到上面示例中的组件中。


1.Props

React 组件接收称为 Props 的参数。HTML 属性用于将 props 传递给组件。React 在组件之间的数据流是单向的(仅从父级到子级)。

Props 是可选输入,可用于向组件发送数据。它们是只读的,因为它们是不可变的属性。因此,它们对于显示固定值很有用。


2.State

State 是 React 中独特的内置对象,它使组件能够生成和管理自己的数据。与 props 不同,组件不能在内部生成或维护状态,尽管它们可以通过状态传递数据。

State 不应该直接修改,但是可以使用一个特殊的方法 setState() 来修改。


例子

1.JSX

JSX 被称为 JavaScript XML。感谢 JSX,我们可以在 React 中编写 HTML。React 对 JSX 的使用使得添加和编写 HTML 变得更简单。它是 JavaScript 语法增强。它应该与 React 一起使用来指定用户界面的显示方式。尽管 JSX 可能类似于模板语言,但它具有 JavaScript 的所有功能。


2.事件

React 能够对用户事件采取行动,就像 HTML DOM 事件一样。相同的 HTML 事件——单击、更改、鼠标悬停等——在 React 中可用。

事件处理程序确定触发事件时要执行的操作。这可能是按钮单击或文本输入的更改。从本质上讲,事件处理程序使用户可以与您的 React 应用程序进行交互。使用 React 元素处理事件类似于处理 DOM 元素上的事件,但有一些小例外。


3.条件渲染

React 允许我们构建许多组件,每个组件都具有所需的行为。然后,基于一些因素或我们的应用程序的状态,我们可能会呈现它们。换句话说,组件根据一种或多种情况选择它将返回哪些组件。与 JavaScript 的条件在 React 中的作用方式相同,条件渲染也是如此。反映当前状态的元素是使用 JavaScript 运算符创建的,React 组件会更新 UI 以匹配它们。

条件渲染示例,考虑以下组件,如果警告消息作为道具传递,则仅渲染警告按钮。

现在,如果您将“warning_Message”传递给组件,则会呈现一个警告按钮。但是,如果不这样做,将返回 null 并且不会显示按钮。

反应 UI 框架

1.Material UI

Material UI 是前端开发人员中最好和最喜欢的库。要在我们的 React 应用程序中开发用户界面,我们可以简单地从 Material-UI 包中导入和使用几个组件。因此,开发人员不必从头开始创建所有内容,从而可以节省大量时间。它使用 MIT 许可证,因此即使用于商业用途也是免费的。它使用与 React 相同的许可证。看

Material UI 为我们提供了各种内置模板、组件、图标、API 等来增强我们的 Web 应用程序。因此对于开发人员来说很容易,就像为我们的项目购买或借用任何组件一样,而不是从头开始构建它。更多信息检查


2.Ant Design

蚂蚁金服体验技术部开发了中间件设计语言Ant Design,旨在规范中间件项目的用户界面需求,减少不必要的实现和设计成本,腾出资源用于设计和前端开发. 它是 React 开发人员第二受欢迎的 UI,它是一个企业级 UI,具有一组专为 Web 应用程序设计的高质量 React 组件

在开发实际项目 时,您可能需要像 Redux 或 MobX 这样的数据流解决方案。


3.Chakra UI

您可以使用Chakra UI 组件工具包创建React 应用程序,它简单、灵活且用户友好。Chakra UI 帮助我们为我们的网络应用程序构建创新功能。为了实现最流行的功能,我们使用 Chakra UI、Light 和 Dark UI。Chakra 非常省时,具有出色的可访问性默认设置,经过精心设计和记录,开箱即用看起来很棒。如果您需要有关 Chakra UI 的更多信息,请访问 Chakra 的Discord 频道


4.React Bootstrap

为了构建响应式、基于组件的 UI 组件,ReactJS Bootstrap 被设计为一个前端工具包组件库。作为 JavaScript Bootstrap 的替代品,它提供了易于访问、动态且易于集成的组件,以加快我们的开发过程。Javascript Bootstrap 使用 JQuery 为其组件的接口提供支持。因为 Javascript Bootstrap 直接操作文档对象模型 (DOM),它与 ​​ReactJS 的声明性方法相反。有一些 ReactJS 项目使用 Javascript Bootstrap 的例子,但它们的支持组件只使用了基本的 Vanilla Bootstrap 样式表,没有使用 JQuery。因此,React 开发人员开发了遵循 Virtual DOM 概念且不涉及 JQuery 的组件库。


重要的钩子

在 React 16.8 中,钩子是一个全新的特性。它们无需创建类即可提供状态和其他 React 功能。

1.useState

我们可以通过 React useState Hook 来跟踪函数组件中的状态。

通过在我们的函数组件中执行 useState,我们初始化了我们的状态。UseState 在接受初始状态后返回两个值:


当前状态

更新当前状态的函数示例

2.useEffect

你可以使用这个Hook来指示React你的组件在渲染后需要做一个动作。React 将跟踪您提供的功能(我们将其称为“效果”)并在 DOM 调整完成后运行它。


3.UseRef

在渲染之间,您可以使用 useRef Hook 来维护值。它可用于保存可更改的值,该值在更改时不需要新的渲染。它可以应用于直接访问 DOM 元素。


4.UseContext

使用上下文主要是为了让你的组件访问某些全局数据,并在全局数据被修改时重新渲染。当您必须将道具从父母传给孩子时,上下文解决了道具钻孔问题。


5.UseReducer

useReducer Hook 接受两个参数。你自己的状态逻辑包含在 reducer 函数中,initialState 可以是一个简单的值,也可以是一个对象。调度方法和当前状态由 useReducer Hook 返回。

Redux 应该用于具有多个特性的应用程序中。通过这些功能共享相同信息的块。在使用 useContext 和 useReducer 时,可以重现 Redux 功能。


6.UseCallback

当组件的子组件无故重复渲染它时,使用 useCallback 钩子。将一组依赖项与内联回调一起传递。如果其中一个依赖项发生了变化,useCallback 将只返回回调的记忆版本。


状态管理工具

开发人员可以使用状态管理检查应用程序的状态,以确保修改以正确的方式反映业务流程和现实世界的上下文。

react中用于状态管理的工具有


1.Redux

Redux 是一种使用“动作”或事件来管理和更新应用程序状态的设计模式和框架。通过保证状态只能以可预测的方式更改的规则,它充当必须在整个程序中使用的状态的中央存储库。它是全栈开发人员最常用的工具之一。

Redux 可用于任何高度重视可预测存储状态的应用程序。应该清楚的是,Redux 可以用于带有用户界面的客户端(前端)。

2.Mobx MobX 是
一个简单的、可扩展的、没有样板的状态管理解决方案。代码是解耦的、可移植的,最重要的是,易于测试,因为它可以独立于任何 UI 框架来维护应用程序状态。它使用发布/订阅设计范例来实现可观察数据。
Redux 在流行度、可扩展性和开发社区方面都优于 MobX。但是,如果您想快速上手并使用最少的样板代码创建简单的应用程序,MobX 可能是您的最佳选择。

3.Hookstate
声明性的 React useState 概念由 Hookstate 包扩展了新功能,并包装在一个全局版本中。它的主要特点包括: 一个插件系统,通过状态验证和持久性来增强库的功能。默认情况下,Hookstate 支持 TypeScript 中的状态管理。


React.JS 包

这些文件是您的应用程序的一种清单文件。该文件在 react 应用程序的开发和部署中起着非常重要的作用。简而言之,我们可以说,Package.json = 与项目关联的元数据 + 版本的所有依赖项 + 脚本。
您应该熟悉的一些最有用的包是
1.React 路由器
React 路由器是 React 中用于路由的通用库。它允许在不同 React 应用程序组件的视图之间切换,允许更改浏览器 URL,并使 UI 与 URL 保持同步。
对于某些您只需要基本导航和路由功能的项目,React 路由器可能是一种过度杀伤力。在这种情况下,根本不需要 React Router.

2.Axios
当今最常用的软件包之一,用于构建高效且用户友好的应用程序。它是一个流行的库,主要用于向 REST 端点发送异步 HTTP 请求。 Axios 是一个 Javascript 库,它实现了原生于 JS ES6 的 Promise API,用于从浏览器使用 node.js 或 XMLHttpRequests 发出 HTTP 请求。它允许客户端 XSRF 保护,并可用于拦截 HTTP 请求和应答。此外,它可以取消请求。

3.React Query

React Query 经常被称为 React 缺失的数据获取库。但是,它从更技术意义上简化了 React 应用程序中检索、缓存、同步和更新服务器数据的过程。

Facebook 将 React Query 用于其主页的一小部分。有一些完全使用 React 构建的应用程序。

由于 React Query 的获取机制是建立在 Promises 之上的,因此您可以将 React Query 与几乎任何异步数据获取客户端一起使用,包括 GraphQL!


4.Storybook

UI组件的开发环境称为Storybook。

您可以使用它来探索组件库,查看每个组件的许多状态,并实时设计和测试组件。

通过分离组件,它加速并简化了开发。这使您能够一次专注于一个元素。无需启动复杂的开发堆栈、将特定数据强制输入数据库或使用应用程序的导航,您就可以创建完整的用户界面。

这是当今用于前端开发的最基本的工具和技术。因此,要成为使用 react.js 的成功前端开发人员,您必须熟悉使用该技术。我希望这篇文章能够为忍受 react.js 专业知识提供适当的指导。

编辑于 2022-09-29 15:17