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

给别人做网站在那里接单学校网站建设报价单

给别人做网站在那里接单,学校网站建设报价单,建一个网站需要哪些费用,一呼百应网做的网站react useCallback与useMemo函数使用与常见问题 useCallback返回一个可记忆的函数,useMemo返回一个可记忆的值,useCallback只是useMemo的一种特殊形式。 那么这到底是什么意思呢?实际上我们在父子通信的时候,有可能传递的值是一…

react useCallback与useMemo函数使用与常见问题

useCallback返回一个可记忆的函数,useMemo返回一个可记忆的值,useCallback只是useMemo的一种特殊形式。

那么这到底是什么意思呢?实际上我们在父子通信的时候,有可能传递的值是一样的,但是传递的内存地址可能是不一样的,那么在React眼里是会对组件进行重新执行的。

一般对象类型的值都是具备内存地址的,所以值相同,但内存地址可能不同,举例如下:

let Welcome = (props) => {  const [ count, setCount ] = useState(0);const handleClick= () => {setCount(count+1);}const foo = () => {}return (<div><button onClick={handleClick}>点击</button>hello Welcome<Head bar={bar} /></div>);
}

当点击按钮的时候,组件会进行重新渲染,因为每次重新触发组件的时候,后会重新生成一个新的内存地址的foo函数。

那么如何不让foo函数重新生成,使用之前的函数地址呢?因为这样做可以减少子组件的渲染,从而提升性能。可以通过useCallback来实现。

const foo = useCallback(() => {}, [])

等价

const foo = useMemo(()=> ()=>{}, [])   // 针对函数

而有时候这种需要不一定都是函数,比如数组的情况下,我们就需要用到useMemo这个钩子函数了,useMemo更加强大,其实useCallback是useMemo的一种特殊形式而已。

const foo = useMemo(()=> ()=>{}, [])   // 针对函数
const bar = useMemo(()=> [1,2,3], [])  // 针对数组

这里我们还要注意,第二个参数是一个数组,这个数组可以作为依赖项存在,也就是说当依赖项发生值的改变的时候,那么对应的对象就会重新创建。

const foo = useMemo(()=> ()=>{}, [count])   // 当count改变时,函数重新创建
http://www.yayakq.cn/news/800869/

相关文章:

  • 淄博建设网站公司中国建设银行阆中分行网站
  • 网站建设技术员保密协议自己如何建设网站聊天室
  • 一元云购网站黑客攻击天津seo排名收费
  • wordpress 开源苏州百度搜索排名优化
  • 广州最好的网站建设品牌网站建设收费情况
  • 手机相册备份网站源码东莞设计企业网站的有哪些
  • 新网站开发做一个中英文双语网站建设多少钱
  • wdcp 防盗链 网站不能打开白金域名的特点
  • 潍坊百度关键词优化google seo怎么优化
  • 做淘宝的网站有哪些内容如何创建网站站点并且避免广告
  • .net网站开发框架友点企业网站管理系统模板
  • 关于wap网站模板下载百度后台登录
  • 网站系统设计说明书湖北建设网官方网站
  • 网站建设规划书案例wordpress 图片加速
  • 用.net编写网站江苏省建设厅网站 杨洪海
  • 网站建设注意事项营销技巧电影
  • 济南软月建站企业网站建设 西宁
  • 聚美优品网的网站建设情况百度搜索网站
  • 学校网站风格flashfxp 上传网站
  • 英文网站做百度权重有意义吗论坛源码哪个好
  • 网站备案相关前置许可网络营销品牌策划优化
  • 百度给公司做网站效果咋样安阳千度网络公司怎么样
  • 湖南长沙网站制作网站定制报价表
  • 山东兴华建设集团有限公司网站拼音上海公司注册网上查询
  • 南通网站外包想学服装设计怎么入门
  • 有哪些可以做问卷赚钱的网站辖网站建设 网站设计
  • 网站设计流程的步骤移动云盘免费空间
  • 多少钱做网站西安航投集团有限公司
  • php网站的后台地址官网和网站的区别
  • 试玩app推广网站建设上海人才网最新招聘信息