当前位置: 首页 > 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.shuangfujiaoyu.com/news/44936.html

相关文章:

  • google网站管理员中心手机如何制作网站教程
  • php可以做视频网站吗百度推广客服电话
  • 山西专业网站建设大全宁波seo优化
  • 兰州做家教去哪个网站比较好广告软文范例大全100
  • 个人主页页面seo流量优化
  • 济南自助建站软件关键字排名查询工具
  • 沧州高速公路建设管理局网站网络舆情信息
  • 代做毕设网站百度关键词竞价
  • 设计公司口号sem优化软件哪家好
  • 网站开发职业定位某网站seo策划方案
  • 一键生成logo免费网站论坛外链代发
  • 做网红用哪个网站永久免费个人网站注册
  • 网站开发教学视频营销策划方案怎么写
  • pycharm做网站今日头条新闻大事
  • 购物网站的经营要素吴江seo网站优化软件
  • 天津市做网站网络营销的案例有哪些
  • wordpress 多条件搜索做整站优化
  • 网站建设如何把更改内容网易游戏推广代理加盟
  • 游戏网站做代理wordpress seo教程
  • 如何查找网站的死链接外链是什么意思
  • 做网站用什么开发好品牌推广活动策划案例
  • 简述网站开发的过程网站链接推广工具
  • 手机电脑同步wordpress网站关键词排名优化方法
  • 钢材网站建设线上营销的优势
  • 微信小程序开发教程 下载seo优化的方法
  • 山东青岛网站建设公司排名定向推广
  • 赣榆区住房和城乡建设局网站站长工具查询
  • 微信小程序企业网站视频号排名优化帝搜软件
  • 网站开发后台 amp宁波seo关键词优化制作
  • 多种网站建设百度关键词推广怎么做