【React】使用lodash的debounce未生效

react中直接使用lodash的debounce函数,发现并未生效,1秒内多次触发,控制台仍有多次打印,这是因为debounceSearch函数被重新定义了,需要使用useCallback来包装函数。

import {
    ChangeEvent } from "react"
import {
    useCallback, useState } from "react"
import {
    Input } from "antd"
import _ from "lodash"

export default () => {
   
	const [idValue, setIdValue] = useState<string>("")
	const debounceSearch = _.debounce((value) => {
   
	    console.log(value)
	  }, 1000)
	)
	const onIptChange = (e: ChangeEvent<HTMLInputElement>) => {
   
	  debounceSearch(e.target.value)
	}

	return <Input value={
   idValue} onChange={
   onIptChange}/>
}

使用useCallback,可以将这个函数缓存起来,避免重复定义。

const debounceSearch = useCallback(
  _.debounce((value) => {
   
    console.log(value)
  }, 1000),
  []
)

相关推荐

  1. React使用lodashdebounce生效

    2024-02-20 07:48:06       37 阅读
  2. vue中使用lodashdebounce防抖函数

    2024-02-20 07:48:06       36 阅读
  3. React使用 lodash-es 中throttle方法失效

    2024-02-20 07:48:06       13 阅读
  4. ReactLodash

    2024-02-20 07:48:06       8 阅读
  5. lodash 使用

    2024-02-20 07:48:06       13 阅读
  6. uniapp中防抖函数debounce使用

    2024-02-20 07:48:06       6 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-20 07:48:06       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-20 07:48:06       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-20 07:48:06       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-20 07:48:06       18 阅读

热门阅读

  1. ansible inventory 主机清单

    2024-02-20 07:48:06       28 阅读
  2. Docker Compose 配置环境变量

    2024-02-20 07:48:06       25 阅读
  3. git checkout 某个分支后如何回退到执行之前的分支

    2024-02-20 07:48:06       24 阅读
  4. 课时39:表达式_运算符_简单计算

    2024-02-20 07:48:06       21 阅读
  5. 2024前端面试准备之uniapp篇

    2024-02-20 07:48:06       32 阅读
  6. C/C++ BM9 删除链表的倒数第n个节点

    2024-02-20 07:48:06       31 阅读
  7. Centos7.6快速安装mysql8.0不需要验证秘钥完整步骤

    2024-02-20 07:48:06       28 阅读