当前位置: 首页 > news >正文

面试问题:React基本概念,和所遇到的CPU和IO问题

         在官方文档里面可以看见React基本设计概念,React是用 JavaScrip构建快速响应的大型Web应用程序的首选方式,但是快速响应用一定的是依赖,CPU的性能和IO的约束。

        首先CPU性能原因:大部分浏览器的刷新频率为60HZ,及16.6ms浏览器刷新一次,但是由于越大的项目js越复杂,导致他的运行时间早就超过了16.6ms,由于浏览器的渲染线程原理,在跑到js的时候必须等他跑完才会继续跑html。浏览器给出的解决方法是,每一帧流一点时间给js。原生的话你需要手动调用,而react会自动用这个来优化js速度,这种操作叫时间切片,时间切片:将同步的更新变为可中断的异步更新。

        IO的限制,这种可以从服务器的角度进行一个优化,包括利用hTTP2-3等现代协议,同时也可以使用人机交互这种视觉感受,让用户减少对网络延迟的感知,响应时间:0.1s内,用户感觉会流程。1秒内流畅但是会察觉到延迟,10s内,需要提供进度条。对于动画控制在200ms到500ms之间是用户最舒服的。就比如说Suspense以及配套的useDeferredValue这种React提供的功能。

        Suspense:是可以在跳转的过程中显示进度条或者别的内容来告诉用户在加载的。在响应时间超过1s的时候使用。

        useDeferredValue:类似防抖,截流的功能,但是比他们效率更高,他是利用React内部Schedular(调度器)实现的,通过切换优先级,当用户输入的时候,先显示输入的值,把计算值的动作排在优先级后面每次用户修改值react都会计算渲染的值,当用户新输入会打断这个过程,重新按照最新值来跑渲染,达到优化用户体验的功能。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • ​必胜客礼品卡回收多少钱,回收平台哪家好
  • Java面试题--JVM大厂篇之深入解析JVM中的Serial GC:工作原理与代际区别
  • spdlog源码学习:std::unique_ptr订制删除器,guard用法,以及decltype
  • Python面试整理-Python中的函数定义和调用
  • Linux工具相关介绍
  • 网络通讯实验报告
  • jenkins 使用教程
  • 3226 使两个整数相等的位更改次数
  • 鸿蒙OpenHarmony Native API【HiLog】
  • PyQt5学习路线
  • 上海昇腾AI训练营笔记
  • mysql8和mysql5版本在使用mybatis框架时的注意事项
  • 主流大数据调度工具DolphinScheduler之数据采集
  • 移动硬盘在苹果电脑上使用后在windows中无法读取 Win和Mac的硬盘怎么通用
  • 如何通过成熟的外发平台,实现文档安全外发管理?
  • 9月CHINA-PUB-OPENDAY技术沙龙——IPHONE
  • @angular/forms 源码解析之双向绑定
  • [译]CSS 居中(Center)方法大合集
  • HTTP 简介
  • iBatis和MyBatis在使用ResultMap对应关系时的区别
  • node学习系列之简单文件上传
  • SpringCloud(第 039 篇)链接Mysql数据库,通过JpaRepository编写数据库访问
  • 翻译:Hystrix - How To Use
  • 猴子数据域名防封接口降低小说被封的风险
  • 基于遗传算法的优化问题求解
  • 线上 python http server profile 实践
  • 新手搭建网站的主要流程
  • 正则表达式小结
  • 智能网联汽车信息安全
  • ​linux启动进程的方式
  • ​ubuntu下安装kvm虚拟机
  • # include “ “ 和 # include < >两者的区别
  • #NOIP 2014# day.1 T3 飞扬的小鸟 bird
  • #pragma data_seg 共享数据区(转)
  • #我与Java虚拟机的故事#连载19:等我技术变强了,我会去看你的 ​
  • (¥1011)-(一千零一拾一元整)输出
  • (3)Dubbo启动时qos-server can not bind localhost22222错误解决
  • (vue)el-tabs选中最后一项后更新数据后无法展开
  • (八)Flask之app.route装饰器函数的参数
  • (独孤九剑)--文件系统
  • (附源码)计算机毕业设计SSM疫情下的学生出入管理系统
  • (六)DockerCompose安装与配置
  • (七)MySQL是如何将LRU链表的使用性能优化到极致的?
  • (数据结构)顺序表的定义
  • (四)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (算法)N皇后问题
  • (学习日记)2024.04.10:UCOSIII第三十八节:事件实验
  • (转)ObjectiveC 深浅拷贝学习
  • .desktop 桌面快捷_Linux桌面环境那么多,这几款优秀的任你选
  • .NET Compact Framework 3.5 支持 WCF 的子集
  • .NET core 自定义过滤器 Filter 实现webapi RestFul 统一接口数据返回格式
  • .NET Core实战项目之CMS 第十二章 开发篇-Dapper封装CURD及仓储代码生成器实现
  • .net framework4与其client profile版本的区别
  • .NET 回调、接口回调、 委托
  • .NET/C#⾯试题汇总系列:⾯向对象