- 1. React 是如何工作的?虚拟 DOM 如何在 React 中工作?
- 2.什么是JSX?
- 4. 类组件和功能组件的区别?
- 5. state 和 props 有什么区别?
- 6. 什么是高阶组件?
- 7.什么是Redux?
文章图片
这个流行的JavaScript库现在已成为行业在其上构建前端应用程序的最佳选择之一。React 加快了开发过程,该库的许多功能使程序员的开发任务变得更加容易。 ReactJS常见的面试题和答案有哪些?如果你是一个有兴趣在 React 中建立你的职业生涯的人,那么你肯定需要为面试做好准备。在这篇博客中,我们将讨论一些有助于通过面试的ReactJS面试问题。1. React 是如何工作的?虚拟 DOM 如何在 React 中工作?ReactJS最新面试题和答案有哪些?React 适用于虚拟 DOM。当组件中的状态发生变化时,它会运行一个差异算法。这标识了虚拟 DOM 中已更改的内容。下一步是协调,它用差异结果更新 DOM。 HTML DOM 具有 HTML 文档结构所允许的树结构形状。由于大型应用程序的大小,DOM 树很大。如今,我们更多地关注动态应用程序(单页应用程序),因此经常更改 DOM 树非常重要。这是一个真正的表现和发展的痛苦。 虚拟 DOM 是 HTML DOM 的抽象。虚拟 DOM 是轻量级的,它与浏览器特定的实现细节分离。Virtual DOM 不是由 React 开发的,而是使用它并免费提供的。ReactElement 存在于虚拟 DOM 中。它使这里成为基本节点。一旦你定义了元素,ReactElements 就会被渲染到“真实”的 DOM 中。 一旦 React diff 算法中的状态发生变化,就会识别出发生了什么变化。然后用 diff 的结果更新 DOM。虚拟 DOM 比常规 DOM 快。 2.什么是JSX?JSX 代表 JavaScript XML。它是 JavaScript 的语法扩展,具有 JavaScript 的全部功能。JSX 创建 React “元素”。你将看到用花括号括起来的 JSX 语法。编译后 JSX 表达式成为常规 JavaScript 对象,这意味着你可以在 if 语句和 for 循环中使用 JSX,将其分配给一个变量,将其作为参数接受并从函数中返回。 查看下面给出的示例,了解 React 中 JSX 的语法。
- Javascript
const element = (
<
h1 className="greeting">
Hello World!
<
/h1>
);
下面给出了使用 createElement 的等效项......
- Javascript
const element = React.createElement(
'h1',
{"className":"greeting"},
'Hello World!'
);
3.什么是ReactDOM,ReactDOM和React有什么区别?ReactJS面试问题和答案介绍:早期的 ReactDOM 是 React 的一部分,但后来 React 和 ReactDOM 被分成了两个不同的库。基本上,ReactDOM 就像是 React 和 DOM 之间的粘合剂。我们可以用它做一件事:用 ReactDOM 挂载。 ReactDOM.findDOMNode() 是 ReactDOM 的另一个有用功能,可用于访问 DOM 元素。对于其余的事情,React 就在那里。React 用于定义和创建元素,用于生命周期钩子等。 4. 类组件和功能组件的区别?在类组件中,你可以使用附加功能,例如本地状态和生命周期挂钩。添加更多内容,以启用你的组件并直接访问我们的商店,从而保持状态。当组件刚刚接收到 props 并将它们渲染到页面时。它被称为“无状态组件”,可以使用纯函数。下面是一个无状态的功能组件的例子......
- Javascript
import React from 'react'
const Booklist = books => (
<
ul>
{books.map(({ title, author}) =>
{title}--{author}
)}
<
/ul>
)
5. state 和 props 有什么区别?ReactJS最新面试题和答案有哪些?当组件在 React 应用程序中安装时,状态数据结构以默认值开始。随着时间的推移,它会发生变异,主要是由于用户事件。Props 是属性的简写,是一个组件配置。基本上,props 就像一个定义组件如何相互通信的参数。道具是不可变的,就组件接收它们而言。一个组件不能改变它的 props,但它负责把它的子组件的 props 放在一起。道具不必只是数据-回调函数可以作为道具传入。 我们也可以有默认的道具,这样即使父组件没有向下传递道具,道具也会被设置。props 和 state 做同样的事情,但两者的使用方式不同。大多数组件将是无状态的。道具用于将数据从父级传递到子级或在组件本身之间传递。 道具是不可变的,不能改变。另一方面,状态是可变的或者数据会改变。这对于用户输入特别有用。 6. 什么是高阶组件?ReactJS常见的面试题和答案介绍:它是 React 中用于重用组件逻辑的高级技术。HOC 不是 React API 的一部分。这些是从 React 的组合性质中出现的模式。 基本上,高阶组件是接受一个组件并返回一个新组件的函数。HOC 允许你重用代码、逻辑和引导程序抽象。在第三方 React 库中,HOC 很常见。 最常见的是 Redux 的 connect 函数。HOC 不是简单地共享实用程序库和简单的组合,而是在 React 组件之间共享行为的最佳方式。你可以在代码重构中利用 HOC。当你在不同的地方一遍又一遍地重复相同的代码时,请使用可重用的 HOC 来重构代码。7.什么是Redux?ReactJS面试问题和答案解析:Redux 是将整个应用程序的状态存储在单个存储中的好方法。当你的应用程序很小时,你在处理状态时不会遇到问题。但是当它开始增长时,你会发现各个组件中的状态变得难以管理。Redux 在这里解决了你的问题。 Redux 主要作用于三个组件:
- Action:Actions 是将数据从应用程序发送到商店的信息负载。操作是商店的唯一信息来源。我们使用 store.dispatch() 将它们发送到商店。
- Reducer:Reducer 指定应用程序的状态如何响应发送到存储的操作而变化。Actions 描述发生了什么,但它不描述应用程序的状态如何变化。基本上,reducer 确定状态将如何更改为操作。
- Store:Store 对象将 action 和 reducer 结合在一起。你可以通过getState()访问状态;它允许通过调度(动作)更新状态;
- Javascript
{
first_name: 'John',
last_name: 'Doe',
age: 28
}
推荐阅读
- 面向开发人员的10个最常见的ES6面试问题和答案
- 电子商务网站的7种最佳SEO策略分析和介绍
- 未来几年的7大电子商务技术趋势详细分析
- 数据科学在电子商务中的主要应用详细介绍
- Javascript AI库合集(用于机器学习和数据科学的10大Javascript库)
- 数据集(用于数据科学项目的8大免费数据集源)
- 数据科学在商业中的7大应用详细介绍
- Django面试问答以及面向初级开发人员的实用技巧
- 最新在实际应用中实现的12大数据结构算法合集介绍