网站首页 > 基础教程 正文
为新的应用程序或网站选择正确的技术变得越来越困难。React 是发展最快的 Javascript 框架之一。随着 JavaScript 技术在行业中站稳脚跟,对 React 认证的需求一直在稳步上升。React 是世界各地前端开发人员的赢家,因为它的学习曲线短、可重用的组件和干净的抽象。为了帮助大家准备面试,我整理了一些最常见的 React 面试问题和答案。
让我们来看看者五个最常见的React面试问题:
1. React 的特点是什么?
JSX:JSX 是一个 JavaScript 语法扩展。 它是 React 中用于定义用户界面所需外观的术语。 借助 JSX 语言扩展,可以在与 JavaScript 代码相同的文件中编写 HTML 结构。
组件:单个React应用程序中有许多组件,因此了解它们是什么以及它们如何协同工作很重要。它将用户界面分成可以相互独立地重复使用和处理的组件。
虚拟DOM:在 React 中,虚拟DOM是存储在内存中的实际DOM的轻量级副本。与更新DOM中的每一项不同,虚拟DOM—次只更新一个对象。
单向数据绑定:在React 中,单向数据绑定确保一切都是模块化和快速的。React应用程序的单向数据流需要在父组件内嵌套子组件。
高性能:为了让事情顺利运行,React只更新已更改的部分。因此,Web应用程序的运行速度大大加快。
2. Real DOM 和 Virtual DOM的主要区别是什么? (真实DOM与虚拟DOM)
真实DOM | 虚拟DOM |
需要一段时间才能更新。 | 它在更新方面更具响应性。 |
可以直接从命令行进行HTML更改。 | 无法直接更改HTML。 |
如果元素的数据发生变化,则会创建一个新的DOM。 | 如果元素发生更改,则JSX会更新。 |
为了操作 DOM,这个过程相当耗时。 | 使用DOM相当简单。 |
记忆被浪费了。 | 内存没有浪费。 |
3. React的ES6 语法与ES5 在语法上有何不同?
在比较 ES5 和 ES6 时,更新了以下语法特性:
- 导入与要求
- 出口与出口
- 组件和功能
- 道具
- 状态
导入与要求
ES5 var React = require('react') ;
ES6 import React from 'react ' ;
出口与出口
ES5 module.exports = Component;
ES6 export default Component;
组件和功能
// ES5 Component
var MyComponent = React.createClass({
render: function () {
return <h3>Hello Edureka!</h3>;
},
})
// ES6 Function
class MyComponent extends React.Component {
render() {
return <h3>Hello Edureka!</h3>
}
}
道具
// ES5
var App = React.createClass({
propTypes: { name: React.PropTypes.string },
render: function () {
return <h3>Hello, {this.props.name}!</h3>
},
})
// ES6
class App extends React.Component {
render() {
return <h3>Hello, {this.props.name}!</h3>
}
}
状态
// ES5
var App = React.createClass({
getInitialState: function () {
return { name: 'world' }
},
render: function () {
return <h3>Hello, {this.state.name}!</h3>
},
})
// ES6
class App extends React.Component {
constructor() {
super()
this.state = { name: 'world' }
}
render() {
return <h3>Hello, {this.state.name}!</h3>
}
}
4.列出使用React的一些最重要的好处
React有许多显著的好处,包括:
- 它提高了程序的速度和响应能力。
- 它适用于客户端和服务器。
- JSX提高了代码的可读性
- 使用React,可以轻松集成Meteor和Angular等其他框架。
- 在React的帮助下编写UI测试用例变得轻而易举。
5、浏览器不支持 JSX 的原因是什么?
浏览器只支持 JavaScript 对象,但 JSX 不是其中之一。出于这个原因,JSX文件在发送到浏览器之前必须首先转换为像 Babel 这样的 JavaScript 对象。
- 上一篇: React-Redux简单计算示例
- 下一篇: React-State Hook的应用简单示例
猜你喜欢
- 2024-11-24 React(6)React受控组件的使用
- 2024-11-24 React(8)React组件的生命周期
- 2024-11-24 React-EffectHook的应用简单示例
- 2024-11-24 业余时间总结了React的setState原理,有兴趣的了解下
- 2024-11-24 「react进阶」一文吃透React高阶组件(HOC)
- 2024-11-24 React-State Hook的应用简单示例
- 2024-11-24 React-Redux简单计算示例
- 2024-11-24 手把手教你深入浅出React 迷惑的问题点【完整版】
- 2024-11-24 day2:前端面试题(react)
- 2024-11-24 阿里开源跨组件体系的表单渲染引擎——form-render
- 06-09Socioeconomic growth goals high on meetings' agenda
- 06-09Cities Along Middle Reaches of Yangtze River Agree on 63 Cooperation Items
- 06-09Scientists to make flag flutter on moon
- 06-09CBN丨Foreign-funded institutions bullish on Chinese assets
- 06-09Full Text: Joint Statement between the People's Republic of China and the French Republic on Climate Change on the occasion of the Tenth Anniversary of the Paris Agreement
- 06-092022年底总结,温暖和激励自己的文案
- 06-09百度实时推送代码解决方案(百度实时推送工具)
- 06-09PHP漏洞之跨网站请求伪造(php跨站脚本攻击)
- 最近发表
-
- Socioeconomic growth goals high on meetings' agenda
- Cities Along Middle Reaches of Yangtze River Agree on 63 Cooperation Items
- Scientists to make flag flutter on moon
- CBN丨Foreign-funded institutions bullish on Chinese assets
- Full Text: Joint Statement between the People's Republic of China and the French Republic on Climate Change on the occasion of the Tenth Anniversary of the Paris Agreement
- 2022年底总结,温暖和激励自己的文案
- 百度实时推送代码解决方案(百度实时推送工具)
- PHP漏洞之跨网站请求伪造(php跨站脚本攻击)
- ThinkPHP后台入口地址查找(thinkphp build.php)
- PHP新手如何提高代码质量(php新手如何提高代码质量的方法)
- 标签列表
-
- jsp (69)
- gitpush (78)
- gitreset (66)
- python字典 (67)
- dockercp (63)
- gitclone命令 (63)
- dockersave (62)
- linux命令大全 (65)
- pythonif (86)
- location.href (69)
- dockerexec (65)
- tail-f (79)
- queryselectorall (63)
- location.search (79)
- bootstrap教程 (74)
- deletesql (62)
- linuxgzip (68)
- 字符串连接 (73)
- html标签 (69)
- c++初始化列表 (64)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)