9.20技术点

目录

1.首页优化(白屏)

2.Js如何实现函数缓存

3.Js实现缓存

4.vuex单向数据流

5.单向数据流与双向数据流的区别


1.首页优化(白屏)

单页面应用的html是靠JS生成,因为首屏需要加载很大的JS文件,所以当网速差的时候会产生一定程度的白屏

办法:

  1. 优化webpack减少模块打包体积,code-split按需加载
  2. 服务端渲染,在服务端事先拼装好首页所需的html
  3. 缓存一定要使用,但是请注意合理使用
  4. 代码压缩,服务端压缩,浏览器端解压缩
  5. 首页加loading或骨架屏(仅仅是优化体验)
  6. 路由懒加载、图片压缩、UI库按需引入

2.Js如何实现函数缓存

闭包、柯里化、高阶函数

3.Js实现缓存

sessionStorage、localStorage、Cookie

4.vuex单向数据流

5.单向数据流与双向数据流的区别

单向数据流:所有状态的改变可记录、可跟踪,源头易追溯;所有数据只有一份,组件数据只有唯一的入口和出口,使得程序更直观更容易理解,有利于应用的可维护性;一旦数据变化,就去更新页面(data-页面),但是没有(页面-data);如果用户在页面上做了变动,那么就手动收集起来(双向是自动),合并到原有的数据中。

优点
1、所有状态的改变可记录、可跟踪,源头易追溯。
2、所有数据只有一份,组件数据只有唯一的入口和出口,使得程序更直观更容易理解,有利于应用的可维护性。
3、一旦数据变化,就去更新页面(data-页面),但是没有(页面-data)
4、如果用户在页面上做了变动,那么就手动收集起来(双向是自动),合并到原有的数据中。

缺点
1、HTML代码渲染完成,无法改变,有新数据,就需把旧HTML代码去掉,整合新数据和模板重新渲染。
2、代码量上升,数据流转过程变长,出现很多类似的样板代码。
3、同时由于对应状态独立管理的严格要求(单一的全局store),在处理局部状态较多的场景时(如用户输入交互较多的“富表单型”应用),会显得啰嗦及繁琐。


双向数据流:无论数据改变,或是用户操作,都能带来互相的变动,自动更新。

优点
1、用户在视图上的修改会自动同步到数据模型中去,数据模型中值的变化也会立刻同步到视图中去。
2、无需进行和单向数据绑定的那些相关操作。
3、在表单交互较多的场景下,会简化大量业务无关的代码。

缺点
1、无法追踪局部状态的变化。
2、“暗箱操作”,增加了出错时debug的难度。
3、由于组件数据变化来源入口变得可能不止一个,数据流转方向易紊乱,若在缺乏“管制”手段,血崩。
————————————————
版权声明:本文为CSDN博主「火腿肠烧烤大赛冠军」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/s2422617864/article/details/122026524


 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值