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

网站申请百度指数搜索

网站申请,百度指数搜索,上线了建站怎么收费,wordpress的链接一句话来解释,useMemo是缓存值的,useCallback是缓存函数的。 一、useMemo: 接收两个参数,第一个参数是个函数,第二个是依赖项。返回一个memoized值,只有当它的某个依赖项改变时才重新计算 memoized 值&…

一句话来解释,useMemo是缓存值的,useCallback是缓存函数的。
一、useMemo:

接收两个参数,第一个参数是个函数,第二个是依赖项。返回一个memoized值,只有当它的某个依赖项改变时才重新计算 memoized 值,初始化的时候也会调用一次,这种优化有助于避免在每次渲染时都进行高开销的计算。

import React, { useState, useMemo } from 'react';export default function hook() {const [count, setCount] = useState(1)const [total, setTotal] = useState(1)const memoizedValue = useMemo(() => {console.log("只有total变了我才会变")// 返回的值是total+1return total + 1}, [total]);return (<div><button onClick={() => setCount(count + 1)}>count + 1</button><button onClick={() => setTotal(total + 1)}>total + 1</button><div>count is {count}</div><div>total is {total}</div><div>memoizedValue is {memoizedValue}</div></div>)
}

二、useCallback

接收两个参数,第一个参数是个函数,第二个是依赖项。返回一个memoized函数,依赖项不变的情况下,memoizedCallback的引用不变。即:useCallback会被缓存,从而达到渲染性能优化的目的。

父组件:

export default function LearnUseCallBack() {const [num, setNum] = useState(1);const [count, setCount] = useState(1);const add = useCallback(() => {console.log("你好");setNum(num + 1);}, [count]);return (<div><div>缓存函数</div><button onClick={add}>num + 1</button><button onClick={() => setCount(count + 1)}>count + 1</button>num ==> {num}count ==> {count}<ChildComponent add={add}></ChildComponent></div>);
}

子组件:

import React, { useState, useCallback } from "react";// react.memo会做一层浅比较/*** 因为我们每次触发render 都会重新执行一遍当前函数* 所以说,我们的方法会重新赋值,react.memo时进行浅比较* 重新赋值的方法和之前的方法,引用不一样,所以react.memo* 会认为是一个新的对象,所以会重新渲染*/
const ChildComponent = React.memo((props) => {console.log("每次render都会触发吗?", props);return (<div><div>你好我是子组件</div></div>);
});

注:若add方法不被缓存,因为add是引用类型,则组件刷新时add函数每次渲染时都指向不同的引用类型,若将add传给子组件,即使子组件使用了memo包裹,子组件还是每次都会刷新的,影响性能!我们只希望与子组件相关的值变化了之后子组件才去重新渲染。

http://www.yayakq.cn/news/587280/

相关文章:

  • 考研网站做刷词中国建设银行官网站e路通下载
  • 深圳企业网站建设制作公司惠州网站建设米普可思
  • 品牌网站设计有哪些建议什么是网络设计方案
  • 江苏省建设厅南宁seo做法哪家好
  • 江苏网站建站系统哪家好广东小程序系统开发
  • 太原建设网站的公司wordpress 专用主机
  • 主题公园网站建设企业微网站怎么建设
  • 网站建设中企动力最佳a4把网站传到服务器上怎么做
  • 1t网站空间主机多少钱qq官网首页登录
  • 哪里购买网站空间好nginx缓存wordpress
  • 网站名申请广告营销行业
  • 空间设计公司网站wordpress如何更域名
  • 潍坊哪家网站制作公司好简单网站建设培训中心
  • 网站的维护与更新网络建设规划书
  • 网站宣传文案有哪些凉山网站建设
  • 北京做网站比较有名的公司有哪些企业网站一年多少钱
  • 专做ppt的网站中文安卓开发软件
  • 怎么用wordpress 建站wordpress模板top
  • 广州论坛建站模板九江有没有做网站的公司
  • 灯饰 东莞网站建设做ppt网站有哪些内容
  • 广州百度seo优化排名做搜狗网站优化排名
  • 基于liferay portal的乡镇企业门户网站建设研究汉源县建设局网站
  • py网站开发西安网约车
  • 区域信息网站怎么做校园网的规划与设计
  • 网站配色网企业推广普通话
  • 网站备案跟域名备案怎么识别一个网站
  • 网站建设要准备什么软件一个云主机 多个网站
  • 网站建设公众号网站建设服务费会计分录
  • 代码网站推荐wordpress仿商城
  • 长沙网站定制建设佛山网站建设seo优化