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

邵阳网站优化首页排名优化公司

邵阳网站优化,首页排名优化公司,学校文化建设的网站,网页视频怎么下载到ios文章目录 项目地址十六、useContecxt十七、useReducer十八、React.memo以及产生的问题18.1组件嵌套的渲染规律18.2 React.memo18.3 引出问题 十九、useCallback和useMemo19.1 useCallback对函数进行缓存19.2 useMemo19.2.1 基本的使用19.2.2 缓存属性数据 19.2.3 对于更新的理解…

文章目录

  • 项目地址
  • 十六、useContecxt
  • 十七、useReducer
  • 十八、React.memo以及产生的问题
    • 18.1组件嵌套的渲染规律
    • 18.2 React.memo
    • 18.3 引出问题
  • 十九、useCallback和useMemo
    • 19.1 useCallback对函数进行缓存
    • 19.2 useMemo
      • 19.2.1 基本的使用
      • 19.2.2 缓存属性数据
    • 19.2.3 对于更新的理解
  • 二十、useRef记忆功能
    • 20.1 与useState的区别


项目地址

  • 教程作者:
  • 教程地址:
  • 代码仓库地址:
  • 所用到的框架和插件:
dbt 
airflow

十六、useContecxt

让子组件,子孙组件,不用通过props一层一层传递,可以直接取值,类似于定义一个全局变量,子孙组件都可以直接使用这个全局变量,而不是一层一层获取

  1. 创建context,给子组件传值
    在这里插入图片描述
  2. 使用context里的数据

在这里插入图片描述

十七、useReducer

  1. 设置一个函数,用来管理所有状态的操作,其中state表示操作之前的值,action = {type:具体操作的名称, payload:表示操作附带的值},最后操作结束后return的值去覆盖之前的state的值
    在这里插入图片描述

  2. 使用useReducer,第一个参数就是操作状态的函数,参数二,就是初始值,用来被参数一操作的值

在这里插入图片描述
注意:这里的state是个数值,所以它可以直接进行加减,但是如果state是对象或者数组,需要解构,使用的时候也是以对象的形式

十八、React.memo以及产生的问题

18.1组件嵌套的渲染规律

  1. 当父组件重新渲染,子组件默认情况下,跟着父组件一起重新渲染;
  2. 如果子组件重新渲染,父组件是不会重新渲染的;

18.2 React.memo

  • 为了解决上面父组件重新渲染,导致子组件也跟着一起渲染的资源浪费问题, 我们使用React.memo,对子组件进行缓存,只有当子组件发生了变化后,才会一起渲染,子组件 重新缓存的情况:
    1. props属性发生了改变;
    1. state组件的状态发生改变
    1. unseContext的值发生了改变
  1. 使用memo将子组件包裹起来

在这里插入图片描述
2. 但是,下面这种情况,由于父组件给子组件传递了props,子组件虽然设置了memo,但是还是会重新渲染,原因是因为每次父组件重新渲染后,里面传值的内存地址发生了变化,虽然值没变,但是对于子组件来说 发生了变化
在这里插入图片描述

18.3 引出问题

上面的数组和function为了保持不变,不让子组件重新渲染,需要使用useMemo和useCallback来防止子组件重新渲染

十九、useCallback和useMemo

19.1 useCallback对函数进行缓存

使用useCallback对函数进行缓存,其中参数1,是函数体,参数2是 依赖项,就是被观察是否变化的项,根据变化与否,改变来判断是否重新渲染

在这里插入图片描述

19.2 useMemo

19.2.1 基本的使用

  1. 假如以下代码,当x或y发生了变化的时候,下面的繁重计算也会发生重新渲染,重新计算,是非常消耗内存的
    在这里插入图片描述
  2. 为了解决这一问题,我们需要设计的程序是,只有计算条件发生变化的时候,才对计算部分进行重新渲染,使用useMemo解决这一问题,也是需要依赖项

在这里插入图片描述

19.2.2 缓存属性数据

  • 解决18里面的arr= [1,2,3]属性,没发生变化,但是传入子组件用的时候,会 导致子组件重新渲染
const arr = useMemo(()=>[1,2,3],[])

19.2.3 对于更新的理解

只要有方法把不变的状态记住,那么在父组件渲染的时候,子组件就不会重新渲染

  • useState
    在这里插入图片描述
  • useRef:这里使用useRef更合适,因为不需要渲染
  • 在这里插入图片描述

二十、useRef记忆功能

只用于记忆,不用于渲染

20.1 与useState的区别

  1. useState是,更改+渲染
  2. useRef 只更改不渲染
http://www.tj-hxxt.cn/news/119958.html

相关文章:

  • 手机网站建设教程视频教程网站权重怎么提高
  • 怎么成立自己的网站必应搜索推广
  • 长长沙网站制作曲靖新闻今日头条
  • 2022世界500强企业排名seo网站优化论文
  • 阿里云做的网站为啥没有ftp网站搜索优化公司
  • 电脑网站安全证书有问题如何解决公众号运营收费价格表
  • 广州做网站信科网络网络营销课程介绍
  • 企业app定制开发设计方案杭州seo营销
  • 网站用的什么字体设计十大引擎网址
  • 仿手表网站苏州百度推广开户
  • 做外贸怎么登陆外国网站seo独立站优化
  • 色情网站是怎么建设的营销策略怎么写
  • 重庆免费网站建站模板seo外包软件
  • 池州专业网站建设公司在线域名查询网站
  • 大型购物网站建设产品销售推广方案
  • 贵州住房和城乡建设厅旧网站百度seo排名点击器
  • 做网站给客户聊天记录网站建设案例
  • 上海微网站建设seo系统优化
  • wordpress xampp建站搜索引擎排名优化价格
  • 建设用地规划许可证查询网站友情链接交换方式有哪些
  • 电商网站开发需要掌握哪些知识技能凌哥seo技术博客
  • 北京网站制作合肥爱站网站排行榜
  • 南京个人网站建设长沙网站制作推广
  • 在哪里自己建设网站重庆店铺整站优化
  • 怎么建设公司网站竞价排名点击
  • 专门做广东11选5的网站优化网站推广
  • 成都j网站制作南京百度seo代理
  • 个人做论坛网站有哪些湖南正规关键词优化
  • 太原做网站需要多少钱网络精准推广
  • 承德网站建设专家下载百度官方版