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

怎样创作一个网站wordpress 效率

怎样创作一个网站,wordpress 效率,建协企业是什么公司,erp网站建设useCallback 概述 1、useCallback 是在React 中多次渲染缓存函数的 Hook#xff0c;返回一个函数的 memoized的值#xff1b; 2、如果多次传入的依赖项不变#xff0c;那么多次定义的时候#xff0c;返回的值是相同的,防止频繁触发更新#xff1b; 3、多应用在 父组件为函…useCallback 概述 1、useCallback 是在React 中多次渲染缓存函数的 Hook返回一个函数的 memoized的值 2、如果多次传入的依赖项不变那么多次定义的时候返回的值是相同的,防止频繁触发更新 3、多应用在 父组件为函数式组件子组件也为函数式组件并且子组件被 React.memo() 包裹着 4、主要用于性能优化即使不适用useCallback代码也要能正常运行 useCallback 基本用法 写法 let memoizedCallback useCallback(fn, dependencies)第一个参数fn 是想要缓存的函数可以接收任何参数并返回任何值React 中会在初始化时候调用而不是渲染时候调用 当执行下一次渲染时候如何出入的依赖值 dependencies 相同则会返回相同的函数 memoizedCallback 相反 若依赖值 dependencies 不同则会返回新的函数 memoizedCallback但是 React 不会主动去调用 memoizedCallback函数需要开发者自己决定什么时候执行调用函数 第二个参数 dependencies是否要更新 fn 的所有响应式值的一个列表可以传入空数组:[] 响应式值包括 props、state和所有在你组件内部直接声明的变量和函数。 useCallback 示例 1、为什么要使用 useCallback 当我们传入相同值的时候不管是对象类型还是基本类型都不希望子组件进行更新渲染 在不需要大量渲染的时候性能还可以但是当数据量大的时候若相同的数据也触发子组件渲染则会出现性能问题 2、在不使用 useCallback() 的时候 每次触发 handleAdd 事件时候都会渲染子组件 ChildA // 父组件 import { useCallback, useState} from react import ChildA from ./childA export default function MyCallBack() {const [useInfo, setUseInfo] useState({name: Andy,age: 18})const myCallback () {console.log(useCallback)return useInfo.name}const handleAdd () {setUseInfo({name: Andy,age: 18})}return (divh3This is a MyCallBack demo .---{count}/h3button onClick{handleAdd}add/buttonhr /ChildA onAddCount{myCallback} /ChildA/div) } // 子组件 import React, { memo } from reactconst ChildA memo(({onAddCount}) {console.log(ChildA 组件更新了, count)return (divh3This is a ChildA demo ./h3button onClick{onAddCount}子组件/buttonhr //div) })当我们点击 add 按钮时候发现页面打印 “ChildA 组件更新了”说明传入相同的数据时候会触发子组件渲染如图所示 3、使用 useCallback 时候 import { useCallback,useState} from react import ChildA from ./childA export default function MyCallBack() {console.log(父组件callback)const [count, setCount] useState(0)const [useInfo, setUseInfo] useState({name: Andy,age: 18})const myCallback useCallback(() {console.log(useCallback)return useInfo.name}, [useInfo.name])const handleAdd () {setUseInfo({name: Andy,age: 18})}return (divh3This is a MyCallBack demo .---{count}/h3button onClick{handleAdd}add/buttonhr /ChildA onAddCount{myCallback} /ChildA/div) } // 子组件 import { memo } from react // eslint-disable-next-line react/display-name const ChildA memo(({useInfo, count, onAddCount}) {console.log(ChildA 组件更新了, count)const handleChangeName () {setName(Tom)}return (divh3This is a ChildA demo ./h3h4{count}/h4h4姓名{useInfo?.name || --}/h4h4年龄{useInfo?.age || --}/h4button onClick{onAddCount}子组件/buttonhr //div) }) export default ChildA 在点击 add 按钮 更新相同数据时候只有父组件渲染子组件不会再渲染如图 总结 若要实现 传入相同数据时候只更新当前组件而子组件不进行渲染需使用 useCallback() 和 memo 来处理
http://www.pierceye.com/news/966333/

相关文章:

  • c 做网站凡科网站免费版怎么做
  • 门户网站开发多少钱wordpress主题文章页面不显示
  • 网站建设丶金手指下拉13个人网站有什么用
  • 企业网站建设解决方案wordpress搜索不了中文linux
  • 怎样在网站上做有效的广告投放手机网站公司哪家好
  • 四川德行天下建设工程有限公司网站ie兼容所有网站
  • 网站seo诊断免费php源码网
  • 微信公众号商城网站开发湖南省新闻最新消息十条
  • 如何做网站家具导购做哈尔滨本地门户网站赚钱吗
  • 建立网站的步骤有哪些wordpress 主题
  • 网站功能建设中页面个体户做网站有用吗
  • 网站建设具体要求wordpress启用注册
  • 重庆好的网站建设公司车辆管理网站开发
  • 十大SEO网站外链建设误区城乡住房建设部网站保证金
  • 自己做一元夺宝网站dede 管理多个网站
  • 做app还是做微网站好聚美网站开发开题报告
  • 网站建设总结与科技网站建设+长沙
  • 网博士自助建站系统手机wap网站程序
  • 做网站有什么不好竞价广告
  • 个人网站 cms企业做网站的好处有哪些
  • 公司做网站的费用入账国内电商平台网站制作排行榜
  • 做网站电脑开一天用多少钱怎么做网页动图
  • 织梦做网站教程网站风格要求
  • 网站制作用什么编程百度贴吧网页版登录
  • 站长之家ip查询雄安哪里在建设
  • wdcp创建网站网站开发如何找甲方
  • 做网站运营用什么软件高校支付网站建设费需要入无形资产
  • 在那个网站做ppt可以赚钱网页代码怎么看
  • 免费做企业网站广州萝岗网站建设
  • 开奖网站怎么做wordpress添加广告