1、React 面试整理前端面试的范围非常广泛,如果你面试的公司需要react 框架方面的知识,以下内容是你必须掌握的,小编根据自己的工作以及平常面试经验整理了以下 react 面试必备 技能,希望能够帮助你通过面试,你只需要请我喝杯咖啡 的钱就可以拿走所有经验!为了方便学习,小编按照以下四个方面进行分类讲解:1、基本知识1.1 区 分 Real DOM 和 Virtual DOMReal DOMVirtual DOM1. 更新缓慢2. 可以直接更新 HTML 3. 如果元素更新,则创建新 DOM 4. DOM 操作代价很髙5. 消耗的内存较多1. 更新更快2. 无法直接更新 HTML 3. 如果
2、元素更新,则更新 JSX 4. DOM 操作非常简单5. 很少的内存消耗1.2 什么是 React1、 React 是 Facebook 在 2011 年开发的前端 JavaScript 库。2、 它遵循基于组件的方法,有助于构建可重用的 UI 组件。3、 它用于开发复杂和交互式的 Web 和移动 UL 4、 尽管它仅在 2015 年开源,但有一个很大的支持社区。1.3 React 有什么特点?React 的主要功能如下:1、 它使用*虚拟 DOM*而不是真正的 DOMo 2、 它可以用服务器端渲染。3、 它遵循单向数据流或数据绑定。1.4 列出 React 的一些主要优点。React 的一些
3、主要优点是:1. 它提高了应用的性能2. 可以方便地在客户端和服务器端使用3. 由于 JSX,代码的可读性很好4. React 很容易与 Meteor, Angular等其他框架集成5. 使用 React,编写 UI 测试用例变得非常容易1.5 React 有哪些限制?React 的限制如下:1. React 只是一个库,而不是一个完整的框架2. 它的库非常庞大,需要时间来理解3. 新手程序员可能很难理解4. 编码变得复杂,因为它使用内联模板和 JSX 1.6 什么是 JSX?JSX 是 JavaScript XML的简写。是 React 使用的一种文件,它利用 JavaScript 的表现力
4、和类似 HTML 的模板语法。这使得 HTML 文件非常容易理解。此文 件能使应用非常可靠,并能够提高其性能。下面是 JSX 的一个例子:render () ( return( Hello World from Edureka! 1.7 你了解 Virtual DOM 吗?解释一下它的工作原理。Virtual DOM 是一个轻量级的 JavaScript 对象,它最初只是 real DOM的副 本。它是一个节点树,它将元素、它们的属性和内容作为对象及其属性。React 的渲染函数从 React 组件中创建一个节点树。然后它响应数据模型中的 变化来更新该树,该变化是由用户或系统完成的各种动作引起
5、的。Virtual DOM工作过程有三个简单的步骤: 1、每当底层数据发生改变时,整个 UI 都将在 Virtual DOM描述中重新渲染。2、然后计算之前 DOM 表示与新表示的之间的差异。3、完成计算后,将只用实际更改的内容更新 real DOMReal DOM (updated)1.8 为什么浏览器无法读取 JSX?浏览器只能处理 JavaScript 对象,而不能读取常规JavaScript 对象中的 JSXo 所以为了使浏览器能够读取 JSX,首先,需要用像 Babel 这样的 JSX 转 换器将 JSX 文件转换为 JavaScript 对象,然后再将其传给浏览器。1.9 与 ES
6、5 相比,React 的 ES6 语法有何不同?以下语法是 ES5 与 ES6 中的区别:1、require 与 import ES5 var React = require(react); ES6 import React from react; 2、export 与 exports ES5module.exports = Component; / ES6 export default Component; 3、component 和 function / ES5 var MyComponent = React.createClass( render: function() return H
7、ello Edureka!; I);/ ES6 class MyComponent extends React.Component render() ( return Hello Edureka!; 4、props / ES5 var App = React.createClass( propTypes: name: React.PropTypes.string , render: function () return Hello, this.props.name!; );/ ES6 class App extends React.Component ( render() return Hel
8、lo, this.props.name!; 5、state var App = React.createClass( getlnitialStaCe: function () ( return ( name: world ; , / ES5render: funcCion() ( return Hello, this.state.name!; H;/ ES6 class App extends React.Component ( constructor () ( super(); this.state = ( name: world); render() return Hello, this.
9、state.name!; ) 1.10 React 与 Angular 有何不同?1. 体系结构2. 渲染3. DOM4. 数据绑定5. 调试React只有 MVC 中的 View 可以在服务器端渲染使 用 virtual DOM 单向数据绑定编译时调试Angular完整的 MVC 客户端渲染使用 real DOM 双向数据绑定运行时调试6.作者Facebook Google 2、组件2.1 理解“在 React 中,一切都是组件”组件是 React 应用 UI 的构建块。这些组件将整个 UI 分成小的独立并可 重用的部分。每个组件彼此独立,而不会影响 UI 的其余部分。2.2 解释 Reac
10、t 中 render() 的目的每个 React 组件强制要求必须有一个 render()o 它返回一个 React 元素, 是原生 DOM 组件的表示。如果需要渲染多个 HTML 元素,则必须将它们组合 在一个封闭标记内,例如form、等。此函数必须保持纯净, 即必须每次调用时都返回相同的结果。2. 3 如何将两个或多个组件嵌入到一个组件中可以通过以下方式将组件嵌入到一个组件中:class MyComponent extends React.Component( render()( return( Hello Header/ ); I class Header extends React.C
11、omponent( render()( return Header Component ;I ReactDOM.render( , document.getElementByld(content) );2.4 什么是 PropsProps 是 React 中属性的简写。它们是只读组件,必须保持纯,即不可变。它们总是在整个应用中从父组件传递到子组件。子组件永远不能将 prop 送回父组件。这有助于维护单向数据流,通常用于呈现动态生成的数据。2.5 React 中的状态是什么?它是如何使用的?状态是 React 组件的核心,是数据的来源,必须尽可能简单。基本上状态是确定组件呈现和行为的对象。与 p
12、rops 不同,它们是可变的,并创建动态和交互式组件。可以通过 this.state ()访问它们。16.区分状态和 propsState Props从父组件中接收初始值是 是父组件可以改变值 否 是在组件中设置默认值 是 是在组件的内部变化 是 否设置子组件的初始值 是 是在子组件的内部更改 否 是2.7 如何更新组件的状态可以用 this.Setstate ()更新组件的状态。class MyComponent extends React.Component constructor () ( super(); this.state = name: Maxx, id: 101 render(
13、) I setTimeout()=thissetstate(name:Jaeha, id:222*),2000) return ( Hello this.state.name Your Id is this.state.id ReactDOM.render( , document.getElementByld(content*) ;)2.7 React 中的箭头函数是什么?如何使用?箭头函数(=)是用于编写函数表达式的简短语法。这些函数允许正确绑 定组件的上下文,因为在 ES6 中默认下不能使用自动绑定。使用高阶函数时, 箭头函数非常有用。/General way render() retur
14、n( );/With Arrow Function render () ( return( this.handleOnChange(e) / 2.9 区分有状态和无状态组件有状态组件无状态组件1. 在内存中存储有关组件状态变化的信息 1.计算组件的内部的状态2. 有权改变状态2.无权改变状态3, 包含过去、现在和未来可能的状态变化情 3.不包含过去,现在和未来可能况发生的状态变化情况4, 接受无状态组件状态变化要求的通知,然 4.从有状态组件接收 props 并将后将 props 发送给他们。其视为回调函数。2.10 React 组件生命周期的阶段React 组件的生命周期有三个不同的阶段:1. 初始渲染阶段:这是组件即将开始其生命之旅并进入 DOM 的阶段。2. 更新阶段:一旦组件被添加到 DOM,它只有在 prop 或状态发生变化时 才可能更新和重新渲染。这些只发生在这个阶段。3. 卸载阶段:这是组件生命周期的最后阶段,组件被销毁并从 DOM 中删除。2.11 详细解释 React 组件的生命周期推
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2