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

找建筑类工作哪个网站好asp做网站得多长时间

找建筑类工作哪个网站好,asp做网站得多长时间,苏州木渎做网站公司,建设一个视频教学网站文章目录 普通使用使用防抖节省开销页面功能复杂需要value受控回调需要部分代码立即执行#xff0c;部分代码防抖延时执行useRefuseCallback 小结 普通使用 当我们使用Antd的input或者select进行搜索时#xff0c;onChange回调会即时执行。 import { Input } from an… 文章目录 普通使用使用防抖节省开销页面功能复杂需要value受控回调需要部分代码立即执行部分代码防抖延时执行useRefuseCallback 小结 普通使用 当我们使用Antd的input或者select进行搜索时onChange回调会即时执行。 import { Input } from antd; export default function HomePage() {return (divInputonChange{(v) {console.log(value, v.target.value);}}//div); }当输入123时控制台打印了三次 使用防抖节省开销 当我们需要与后台配合使用时如后台搜索。为了减少接口的调用次数我们常常使用防抖函数来进行优化。 import { Input } from antd; import { debounce } from lodash-es; export default function HomePage() {return (divInputonChange{debounce((v) {console.log(value, v.target.value);}, 500)}//div); }当每次的输入间隔小于500ms时输入123控制台只打印了一次 页面功能复杂需要value受控 当我们的页面比较复杂时除自己外其他的组件或页面也可以操控input的内容显示。这时我们就需要给input一个value来手动控制input的内容。 import { ChangeEvent, useState } from react; import { Input } from antd; export default function HomePage() {const [value, setValue] useState(123);const handleOnchange (v: ChangeEventHTMLInputElement) {console.log(value, v.target.value);setValue(v.target.value);};return (divInput value{value} onChange{handleOnchange} //div); }初始值123输入666和第一次一样打印了三次 增加防抖函数 import { ChangeEvent, useState } from react; import { Input } from antd; import { debounce } from lodash-es; export default function HomePage() {const [value, setValue] useState(123);const handleOnchange debounce((v: ChangeEventHTMLInputElement) {console.log(value, v.target.value);setValue(v.target.value);}, 500);return (divInput value{value} onChange{handleOnchange} //div); }这里虽然打印了一次但是value值始终没有改变。 我防抖了value的改变因此value值没有即时改变那么onChange的value也不是即时的所以我的value始终无法改变。 回调需要部分代码立即执行部分代码防抖延时执行 为了解决上一个问题我们需要立即执行value的改变但是接口请求还是需要防抖延时执行。 import { ChangeEvent, useState } from react; import { Input } from antd; import { debounce } from lodash-es; export default function HomePage() {const [value, setValue] useState();const handleDebounceSearch debounce((v: string) {console.log(vv, v);}, 500);const handleOnchange (v: ChangeEventHTMLInputElement) {setValue(v.target.value); // 立即执行handleDebounceSearch(v.target.value); // 防抖延时};return (divInput value{value} onChange{handleOnchange} //div); }value可以正常显示了打印的内容也有明显的延迟但是还是打印了多次这是为什么 状态的改变会刷新组件这个函数式组件重新渲染handleDebounceSearch方法重新定义因此每次onChange执行的handleDebounceSearch方法都不是同一个引用地址不同。 将handleDebounceSearch函数的引用地址固定住就可以。 可以使用useRef或者useCallback useRef import { ChangeEvent, useEffect, useRef, useState } from react; import { Input } from antd; import { debounce } from lodash-es; export default function HomePage() {const [value, setValue] useState();const handleDebounceSearch useRef(debounce(async (value: string) {console.log(vv, value);}, 500)).current;useEffect(() {return () {handleDebounceSearch.cancel();};}, []);const handleOnchange (v: ChangeEventHTMLInputElement) {setValue(v.target.value); // 立即执行handleDebounceSearch(v.target.value); // 防抖延时};return (divInput value{value} onChange{handleOnchange} //div); }useCallback import { ChangeEvent, useCallback, useEffect, useState } from react; import { Input } from antd; import { debounce } from lodash-es; export default function HomePage() {const [value, setValue] useState();const handleDebounceSearch useCallback(debounce((v: string) {console.log(vv, v);}, 500),[]);useEffect(() {return () {handleDebounceSearch.cancel();};}, []);const handleOnchange (v: ChangeEventHTMLInputElement) {setValue(v.target.value); // 立即执行handleDebounceSearch(v.target.value); // 防抖延时};return (divInput value{value} onChange{handleOnchange} //div); }注意组件卸载时清除定时器handleDebounceSearch.cancel() 小结 回调函数频繁调用并且有较大的请求开销可以使用防抖的方法解决次数频繁调用回调的即时处理与防抖处理可分开处理要注意防抖函数的定义引用地址是否相同。
http://www.pierceye.com/news/362529/

相关文章:

  • 365房产南京网站响应式wordpress主题
  • 上海网站建设 app开发佛山黄页企业名录
  • 网站优化文档天津建设厅网站
  • 网站建设自适应网站电商网站运营规划
  • 做网站如何报价泰州建设局网站质监站
  • 做家具网站电影网站做流量吗
  • 免费1级做看网站制作单页网站要网址
  • 网站返回首页怎么做的好看自贡网站优化
  • 自己的网站如何做推广wordpress积分与奖励
  • 产品包装设计网站网站建设 中企动力宜昌
  • 英语营销型网站建设北京pk10网站开发
  • 交换链接适合哪些网站东莞小程序开发制作
  • 医院网站建设网站阿里巴巴网站是用什么技术做的
  • 潍坊 餐饮网站建设淘宝seo优化
  • 樟木头镇网站建设公司WordPress企业响应式主题
  • 怎么给网站做备份呢怎么去建设微信网站
  • 成都各公司网站中小企业网站建设 论文
  • 广告网站建设实训报告做电商从哪里入手
  • 建电子商务网站需要多少钱做网站的简称
  • 制定网站推广方案网络营销网站分析
  • 商城网站系网站 png逐行交错
  • 陕西网站建设陕icp备免费虚拟机安卓
  • 优化教程网站推广排名东莞网站建设推广有哪些
  • 金阳建设集团网站电子商务系统 网站建设
  • 网站建设规模哪里有做app软件开发
  • 建站工具上市手机视频网站设计
  • 代做道具网站做地方门户网站不备案可以吗
  • 电子商务 网站前台功能想做微商怎么找厂家
  • 网站建设电子书做网站引入字体
  • 顺德建设网站公司分发平台