面试题-react
对react的理解
是什么
React 是一个用于构建用户界面的 JavaScript 库。
能干什么
可以通过组件化的方式构建大型的,快速响应的大型web应用
如何做
声明式
React 使用jsx实现声明式,使创建交互式 UI 变得轻而易举。
以声明式编写 UI,可以让你的代码更加可靠,且方便调试。
(另外一种是命令式--直接操作dom)
组件化
创建拥有各自状态的组件,再由这些组件构成更加复杂的 UI。--高内聚-低耦合
组件逻辑使用 JavaScript 编写而非模版,因此你可以轻松地在应用中传递数据,并使得状态与 DOM 分离。
一次学习,随处编写
虚拟Dom实现跨平台
无论你现在正在使用什么技术栈,你都可以随时引入 React 来开发新特性,而不需要重写现有代码。
React 还可以使用 Node 进行服务器渲染,或使用 React Native 开发原生移动应用。
缺点
没有官方系统解决方案,过于灵活,需要第三方库---客户端-服务端通信,react-redux,路由,表单等
为什么react引入jsx
是什么
jsx是一个js的语法扩展,可以很好的描述UI,
是react.createElement的语法糖
为什么
为了实现声明式,代码结构更加简洁,可读性强
不许引入新的语法和概念,用js写
比如:angular就使用了基于HTML的模板
对虚拟DOM的理解
react.createElement函数返回的就是一个虚拟DOM
虚拟DOM就是一个描述真实DOM的纯js对象
过程:
每当底层数据发生改变时,整个 UI 都将在 Virtual DOM 描述中重新渲染。
然后计算之前 DOM 表示与新表示的之间的差异。
完成计算后,将只用实际更改的内容更新 real DOM。
React与Angular有何不同?
| React | Angular | |
| 只有 MVC 中的 View | 完整的 MVC | |
| 可以在服务器端渲染 | 客户端渲染 | |
| 使用 virtual DOM | 使用 real DOM | |
| 单向数据绑定 | 双向数据绑定 | |
| 编译时调试 | 运行时调试 | |
React中的合成事件是什么?
合成事件是围绕浏览器原生事件充当跨浏览器包装器的对象。它们将不同浏览器的行为合并为一个 API。这样做是为了确保事件在不同浏览器中显示一致的属性。
箭头函数
组件通讯
组件生命周期 类组件才有
创建时
更新时
卸载时
React 中 key 的重要性是什么?
key 用于识别唯一的 Virtual DOM 元素及其驱动 UI 的相应数据。它们通过回收 DOM 中当前所有的元素来帮助 React 优化渲染。
这些 key 必须是唯一的数字或字符串,React 只是重新排序元素而不是重新渲染它们。这可以提高应用程序的性能。
React hook
面试题-react的更多相关文章
- 前端面试题(react)
React 组件生命周期 在本章节中我们将讨论 React 组件的生命周期. 组件的生命周期可分成三个状态: Mounting:已插入真实 DOM Updating:正在被重新渲染 Unmountin ...
- 前端面试题总结(js、html、小程序、React、ES6、Vue、算法、全栈热门视频资源)
写在前面 参考答案及资源在看云平台发布,如果大家想领取资源以及查看答案,可直接前去购买.一次购买永久可看,文档长期更新!有什么意见与建议欢迎您及时联系作者或留言回复! 文档描述 本文是关注微信小程序的 ...
- React中父子组件数据传递
Vue.js中父子组件数据传递:Props Down , Events Up Angular中父子组件数据传递:Props Down, Events Up React中父子组件数据传递:Prop ...
- 使用angular/react/vue实现相同的面试题组件
面试题要求如下所示 1.angular: <!DOCTYPE html><html lang="en"><head> <meta char ...
- React 精要面试题讲解(五) 高阶组件真解
说明与目录 在学习本章内容之前,最好是具备react中'插槽(children)'及'组合与继承' 这两点的知识积累. 详情请参照React 精要面试题讲解(四) 组合与继承不得不说的秘密. 哦不好意 ...
- React 精要面试题讲解(二) 组件间通信详解
单向数据流与组件间通信 上文我们已经讲述过,react 单向数据流的原理和简单模拟实现.结合上文中的代码,我们来进行这节面试题的讲解: react中的组件间通信. 那么,首先我们把看上文中的原生js代 ...
- 必须要会的 50 个 React 面试题
翻译:疯狂的技术宅 原文:www.edureka.co/blog/interv… 如果你是一位有抱负的前端程序员并准备面试,那么这篇文章很适合你.本文是你学习和面试 React 所需知识的完美指南. ...
- React 精要面试题讲解(一) 单向数据流
react 单向数据流概念 'react框架是怎样的数据流向?'||'react单向数据流是怎样的概念 ?' 解答这个问题之前,我们首先得知道,js框架是个怎样的概念. 框架:具备一定**编程思想** ...
- 前端面试题整理—React篇
1.说一下React React是Facebook 开发的前端JavaScript库 V层:react并不是完整的MVC框架,而是MVC中的C层 虚拟DOM:react引入虚拟DOM,每当数据变化通过 ...
- React面试题
React 简述下React的生命周期,性能优化在哪个生命周期,ajax操作在哪个生命周期 React中key的作用是什么 什么是虚拟DOM diff算法原理 React中refs的作用是什么
随机推荐
- Springboot 添加redis
在项目中常常会用到redis来缓存信息,下面就是如何在Springboot中添加redis 1:在pom.xml中添加依赖 2:配置redis 3:测试使用redis 1:在pom.xml中添加依赖, ...
- 【个人笔记】CentOS 修改 SSH 端口, 禁止 ROOT 远程登陆
1. 修改 SSH 端口号, 禁止 ROOT 用户远程登录 # 使用ROOT用户或者其他有权限的用户登录 # 首先新建一个普通用户,避免禁用 ROOT 用户远程登陆后自己也无法登陆, 已有用户可以跳过 ...
- my.ini
[client] #客户端设置,即客户端默认的连接参数 # socket = /data/mysqldata/3306/mysql.sock #用于本地连接的socket套接字 # 默认连接端口 po ...
- 第四章:用Python对用户的评论数据进行情感倾向分析
文章目录 项目背景 获取数据 情感倾向 senta_bilstm 模型 情感划分 数据描述 数据分析 总体评论倾向 评论分布 各分布的情感倾向 评论分词 去除停用词 绘制词云图 结论 源码地址 本文可 ...
- 1.Python3.5+Pyqt5+PyCharm+Opencv3.3+Qtdesigner开发环境配置
一:Python3.3和Pyqt5的安装 注意:两个的版本一定要对应,一定要对应,一定要对应,重要的事情说三遍. 因为我自己的电脑是64位的,所以我下载的都是64位版本的,且都是3.5版本的:这两个一 ...
- 嵌在Android app的html 拨打不了电话,发送不了短信
html嵌在app里面的 <a href="tel:xxx"></a> <a href="sms:phoneNmber?body=1111& ...
- DDL数据定义--Hive中数据可和表的基本操作(增删改查)
数据库 创建数据库: CREATE DATABASE [ IF NOT EXISTS ] database_name *****IF NOT EXISTS进行判断,避免创建的数据库已经存在的错误 创 ...
- php实现无限极分类
1.无限极分类 //处理父子级 private function getChildBak($data,$parent_id = 0){ $arr=array(); $i = 0; foreach($d ...
- win10系统解决启动虚拟机蓝屏问题
1.查看电脑是否开启了虚拟化,如果没起开开启 CTR+SHIFT+Esc 2.是否开启了虚拟化选项 win+r 输入 OptionalFeatures
- win10输入法微软拼音被禁用
远程桌面到win10系统后,再次回到被远程的win10,会发现输入法被禁用,无法输入汉字无法切换输入法只能使用英文输入 方法1 可以把相关的应用程序关闭后重新打开(不实用) 方法2 任务计划,micr ...