react小笔记

一、请说一下你对React的理解

1、React是一个用于构建用户界面的 JavaScript 库

2、可以通过组件化的方式构建 构建快速响应的大型Web应用程序

3、 特点:声明式、组件化

二、为什么React会引入JSX

1、JSX是一个JavaScript的语法扩展,JSX 可以很好地描述 UI 应该呈现出它应有交互的本质形式

2、JSX其实是React.createElement的语法糖

三、请说一下你对Virtual DOM的理解

React.createElement 函数所返回的就是一个虚拟DOM

虚拟DOM就是一个描述真实DOM的纯JS对象

1、优点:

处理了浏览器兼容性问题,避免用户操作真实DOM,那么又麻烦又容易出错

内容经过了XSS处理,可以防范XSS攻击

容易实现跨平台开发Android、iOS、VR应用

更新的时候可以实现差异化更新,减少更新DOM的操作

2、缺点:

虚拟DOM需要消耗额外的内存

首次渲染其实并不一定会更快

四、函数组件和类组件的相同点和不同点

1 相同点

  • 它们都可以接收属性并且返回React元素

2 不同点

  • 编程思想不同: 类组件需要创建实例,是基于面向对象的方式编程,而函数式组件不需要创建实例,接收输入,返回输出,是基于函数式编程的思路来编写的
  • 内存占用:类组件需要创建并保存实例,会占用一定内存,函数组件不需要创建实例,可以节约内存占用
  • 捕获特性:函数组件具有值捕获特性
  • 可测试性: 函数式组件更方便编写单元测试
  • 状态: 类组件有自己的实例,可以定义状态,而且可以修改状态更新组件,函数式组件以前没有状态,现在可以使用useState使用状态
  • 生命周期: 类组件有自己完整的生命周期,可以在生命周期内编写逻辑,函数组件以前没有生命周期,现在可以使用useEffect实现类似生命周期的功能
  • 逻辑复用: 类组件可以通过继承实现逻辑的复用,但官方推荐组件优于继承,函数组件可以通过自定义Hooks实现逻辑的复用
  • 跳过更新: 类组件可以通过shouldComponentUpdatePureComponent来跳过更新,而函数式组件可以使用React.memo来跳过更新
  • 发展前景: 未来函数式组件将会成为主流,因为它可以更好的屏蔽this问题、规范和复用逻辑、更好的适合时间分片和并发渲染

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值