前端React面试题精选,速来!!!

一、简单说一下你了解的React

React是Facebook 开发的前端JavaScript库

V层:react并不是完整的MVC框架,而是MVC中的C层

虚拟DOM:react引入虚拟DOM,每当数据变化通过reactdiff运算,将上一次的虚拟DOM与本次渲染的DOM进行对比,仅仅只渲染更新的,有效减少了DOM操作

JSX语法:js+xml,是js的语法扩展,编译后转换成普通的js对象

组件化思想:将具有独立功能的UI模块封装为一个组件,而小的组件又可以通过不同的组合嵌套组成大的组件,最终完成整个项目的构建

单向数据流:指数据的流向只能由父级组件通过props讲数据传递给子组件,不能由子组件向父组件传递数据

要想实现数据的双向绑定只能由子组件接收父组件props传过来的方法去改变父组件数据,而不是直接将子组件数据传给父组件

二、React生命周期调用方法的顺序
React 生命周期分为三大周期,十一个阶段。生命周期方法调用顺序分别为:

创建期五大阶段:
getDetaultProps 定义默认属性数据
getInitialState 初始化默认状态数据
componentWillMount 组件即将被构建
render 渲染组件
componentDidMount 组件构建完成

存在期五大阶段:
componentWillReceiveProps 组件即将接收新的属性数据
shouldComponentUpdate 组件是否应该更新
componnentWillUpdate 组件即将更新
render 渲染组件
componentDidUpdate 组件更新完成

销毁期:
componentWillUnmount 组件即将被销毁

三、react生命周期中,最适合与服务端进行数据交互的是哪个函数

componentDidMount,在这个阶段,实例和dom已经挂载完成,可以进行相关的dom操作。

四、react性能优化阶段函数是哪一个?

shouldComponentUpdate

五、概述下 React 中的事件处理逻辑

为了解决跨浏览器兼容性问题,React 会将浏览器原生事(Browser Native Event)封装为合成事件(SyntheticEvent)传入设置的事件处理器中。这里的合成事件提供了与原生事件相同的接口,不过它们屏蔽了底层浏览器的细节差异,保证了行为的一致性。另外,React 并没有直接将事件附着到子元素上,而是以单一事件监听器的方式将所有的事件发送到顶层进行处理(基于事件委托原理)。这样 React 在更新 DOM 的时候就不需要考虑如何去处理附着在DOM 上的事件监听器,最终达到优化性能的目的。

六、vue 和 react 的区别

1、react严格上针对的是mvc模式的view层,vue则是mvvm模式。
2、操作dom的方式不同,vue使用的是指令操作dom,react是通过js进行操作。
3、数据绑定不同,vue实现的是双向绑定,react的数据流动是单向的。
4、react中state是不能直接改变的,需要使用setState改变。vue中的state不是必须的,数据主要是由data属性在vue对象中管理的。

在这里插入图片描述

今天的分享就到这里了,想学习前端、了解前端更多知识,欢迎大家关注、私信我!!!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值