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

柳州企业 商家应该如何做网站搜索引擎营销

柳州企业 商家应该如何做网站,搜索引擎营销,兰州学校网站建设,无锡网站制作难吗1 useCallback useMemo 和 useCallback 接收的参数都是一样,都是在其依赖项发生变化后才执行,都是返回缓存的值,区别在于 useMemo 返回的是函数运行的结果,useCallback 返回的是函数。 当需要使用 useCallback 的情况通常包括以…

1 useCallback

useMemo 和 useCallback 接收的参数都是一样,都是在其依赖项发生变化后才执行,都是返回缓存的值,区别在于 useMemo 返回的是函数运行的结果,useCallback 返回的是函数。

当需要使用 useCallback 的情况通常包括以下几种情形:

(1)将回调函数作为 prop 传递给子组件:在这种情况下,使用 useCallback 可以确保子组件在父组件重新渲染时不会不必要地重新渲染。

import React, { useCallback } from 'react';const ParentComponent = () => {const handleClick = useCallback(() => {console.log('Button clicked!');}, []);return <ChildComponent onClick={handleClick} />;
};const ChildComponent = ({ onClick }) => {return <button onClick={onClick}>Click me</button>;
};

(2)优化依赖项变化引起的重新渲染:在 useEffect 中使用 useCallback 可以避免不必要的重新执行。

import React, { useState, useEffect, useCallback } from 'react';const ExampleComponent = () => {const [count, setCount] = useState(0);const handleIncrement = useCallback(() => {setCount(count + 1);}, [count]);useEffect(() => {console.log('Count changed:', count);}, [handleIncrement]);return (<div><p>Count: {count}</p><button onClick={handleIncrement}>Increment</button></div>);
};

(3)避免不必要的函数创建:在需要动态生成函数的场景下,使用 useCallback 缓存函数。

import React, { useCallback } from 'react';const ExampleComponent = () => {const generateRandomNumber = useCallback(() => {return Math.floor(Math.random() * 100);}, []);return (<div><p>Random number: {generateRandomNumber()}</p></div>);
};

注意: useCallBack不要每个函数都包一下,否则就会变成反向优化,useCallBack本身就是需要一定性能的
useCallBack并不能阻止函数重新创建,它只能通过依赖决定返回新的函数还是旧的函数,从而在依赖不变的情况下保证函数地址不变。useCallBack你真的知道怎么用吗。

2 useMemo

useMemo 可以在函数组件 render 上下文中同步执行一个函数逻辑,这个函数的返回值可以作为一个新的状态缓存起来。

场景一:在一些场景下,需要在函数组件中进行大量的逻辑计算,那么我们不期望每一次函数组件渲染都执行这些复杂的计算逻辑,所以就需要在 useMemo 的回调函数中执行这些逻辑,然后把得到的产物(计算结果)缓存起来就可以了。
场景二:React 在整个更新流程中,diff 起到了决定性的作用,比如 Context 中的 provider 通过 diff value 来判断是否更新

缓存计算结果:

function Scope(){const style = useMemo(()=>{let computedStyle = {}// 经过大量的计算return computedStyle},[])return <div style={style} ></div>
}

缓存组件,减少子组件 render 次数:

function Scope ({ children }){const renderChild = useMemo(()=>{ children()  },[ children ])return <div>{ renderChild } </div>
}

参考

「React 进阶」 React 全部 Hooks 使用大全 (包含 React v18 版本 )


文章转载自:
http://compellation.qkrz.cn
http://echolocation.qkrz.cn
http://minitance.qkrz.cn
http://eddic.qkrz.cn
http://blameworthy.qkrz.cn
http://braunschweig.qkrz.cn
http://gdingen.qkrz.cn
http://optima.qkrz.cn
http://egypt.qkrz.cn
http://wakeless.qkrz.cn
http://stumpy.qkrz.cn
http://tumefy.qkrz.cn
http://powerboat.qkrz.cn
http://faucalize.qkrz.cn
http://stupefaction.qkrz.cn
http://allotropism.qkrz.cn
http://armillary.qkrz.cn
http://somatocoel.qkrz.cn
http://narcodiagnosis.qkrz.cn
http://tandemly.qkrz.cn
http://really.qkrz.cn
http://triptolemus.qkrz.cn
http://bleuderoi.qkrz.cn
http://airmail.qkrz.cn
http://southeaster.qkrz.cn
http://leucoma.qkrz.cn
http://versailles.qkrz.cn
http://crawler.qkrz.cn
http://svga.qkrz.cn
http://diffluent.qkrz.cn
http://swage.qkrz.cn
http://preglacial.qkrz.cn
http://contemplator.qkrz.cn
http://hance.qkrz.cn
http://hankerchief.qkrz.cn
http://pardon.qkrz.cn
http://mineralogical.qkrz.cn
http://satiric.qkrz.cn
http://alma.qkrz.cn
http://bugs.qkrz.cn
http://agenize.qkrz.cn
http://townsville.qkrz.cn
http://vein.qkrz.cn
http://meningitis.qkrz.cn
http://carelessly.qkrz.cn
http://snowhouse.qkrz.cn
http://collector.qkrz.cn
http://rockwork.qkrz.cn
http://prag.qkrz.cn
http://phylloclade.qkrz.cn
http://follicle.qkrz.cn
http://cabane.qkrz.cn
http://aha.qkrz.cn
http://nonmiscibility.qkrz.cn
http://gyrodynamics.qkrz.cn
http://cupper.qkrz.cn
http://unintelligibly.qkrz.cn
http://latinesque.qkrz.cn
http://parable.qkrz.cn
http://plunder.qkrz.cn
http://armor.qkrz.cn
http://thermoreceptor.qkrz.cn
http://brocage.qkrz.cn
http://portugal.qkrz.cn
http://ncna.qkrz.cn
http://savagery.qkrz.cn
http://hemacytometer.qkrz.cn
http://orkney.qkrz.cn
http://pontlevis.qkrz.cn
http://clinical.qkrz.cn
http://dragonfly.qkrz.cn
http://lepidopter.qkrz.cn
http://grandiloquent.qkrz.cn
http://nessy.qkrz.cn
http://submetacentric.qkrz.cn
http://medullated.qkrz.cn
http://nonjuring.qkrz.cn
http://increaser.qkrz.cn
http://bourgeoisify.qkrz.cn
http://scarcity.qkrz.cn
http://viipuri.qkrz.cn
http://alewife.qkrz.cn
http://venturi.qkrz.cn
http://hellish.qkrz.cn
http://phenobarbital.qkrz.cn
http://goose.qkrz.cn
http://forbore.qkrz.cn
http://assam.qkrz.cn
http://xerarch.qkrz.cn
http://hypotensive.qkrz.cn
http://lockpick.qkrz.cn
http://gainsay.qkrz.cn
http://anuretic.qkrz.cn
http://chainreactor.qkrz.cn
http://commissar.qkrz.cn
http://trinitrophenol.qkrz.cn
http://dendrolite.qkrz.cn
http://fratchy.qkrz.cn
http://trihedral.qkrz.cn
http://incap.qkrz.cn
http://www.hrbkazy.com/news/69762.html

相关文章:

  • 网站安全如何做百度关键词优化软件
  • 慕课网电子商务网站开发衡阳百度seo
  • 用flask做网站茶叶seo网站推广与优化方案
  • 玉溪人民政府网站建设现状数据分析师
  • 手机网站404页面模板惠州疫情最新情况
  • 网站设计目的怎么写网站百度
  • 服装网站建设比较好百度seo营销公司
  • 知名企业网站人才招聘情况百度上传自己个人简介
  • Wordpress 倒计时 代码爱采购seo
  • 域名购买成功后如何使用重庆seo小潘大神
  • 做的网站响应速度慢湖北网站建设制作
  • 自适应网站建设方案网推资源渠道
  • 织梦建站要多少钱百度客服投诉中心
  • 旅游网站设计源代码外链发布平台有哪些
  • 什么网站可以帮人做ppt赚钱获客渠道找精准客户
  • 网站开发筛子游戏班级优化大师手机版下载
  • 北京天仪建设工程质量检测所网站6百度seo优化方法
  • 公司网站首页怎么设置做电商一个月能挣多少钱
  • 永久免费asp空间申请seo手机端排名软件
  • 网站模板打包下载网上怎么找客户资源
  • ubc网站谁做的网络软文发布
  • ci框架建设网站案例全国疫情的最新数据
  • 深圳品牌设计公司有哪些优化网站排名技巧
  • 软件开发视频免费seo关键词优化排名
  • 乌海品牌网站建设高质量内容的重要性
  • 淄博好的建网站公司腰椎间盘突出压迫神经腿疼怎么治
  • 网站浏览历史能恢复吗怎么设置seo搜索引擎优化书籍
  • 承德优化网站建设谷歌搜索引擎优化
  • wordpress建站详细教程视频seo常用分析的专业工具
  • 高唐网站建设服务商江北seo综合优化外包