react频繁使用的js(input防抖请求、节流)

目录

react频繁使用的js(input防抖请求)

input的防抖请求

js 复制代码
import React, { useState, useEffect, useCallback } from "react";
import { Input } from "antd";
import SearchDeptID from "styled-components";
import { debounce } from "lodash";
export default function SearchDept(props) {
  const [keyword, setKeyword] = useState("");

  // input使用防抖
  const keywordDebounce = useCallback(debounce((val)=>{
    console.log('val',val);
  }, 300),[])
  const inputChange = (event) => {
    const value = event.target.value;
    setKeyword(value);
    keywordDebounce(value);
  }

  return (
    <SearchDeptWrap>
      <Input
        placeholder="请输入"
        className="ipt"
        value={keyword}
        onChange={inputChange}
      />
    </SearchDeptWrap>
  );
}
const SearchDeptWrap = SearchDeptID.div`
`;

节流 提交的节流或者点击按钮等节流

节流 code

js 复制代码
import { throttle } from 'lodash';
import React, { useCallback, useState } from 'react';

export default function App(props) {
  const [count, setCount] = useState(0);

  const throttleFunc = useCallback(
    throttle(() => {
      console.log('throttleFunc');
      setCount((prevCount) => prevCount + 1);
    }, 1000),
    []
  );

  const addCount = () => {
    console.log('addCount');
    throttleFunc();
  };

  return (
    <div className='content'>
      count-{count}
      <button onClick={addCount}>addCount</button>
    </div>
  );
}

节流 效果

相关推荐
我命由我123451 小时前
React - 类组件 setState 的 2 种写法、LazyLoad、useState
前端·javascript·react.js·html·ecmascript·html5·js
聊聊MES那点事1 小时前
JavaScript图表控件AG Charts使用教程:使用AG Charts React实时更新柱状图
开发语言·javascript·react.js·图表控件
自由生长20242 小时前
IndexedDB的观察
前端
IT_陈寒2 小时前
Vite热更新坑了我三天,原来配置要这么写
前端·人工智能·后端
斯班奇的好朋友阿法法2 小时前
离线ollama导入Qwen3.5-9B.Q8_0.gguf模型
开发语言·前端·javascript
掘金一周2 小时前
每月固定续订,但是token根本不够用,掘友们有无算力焦虑啊 | 沸点周刊 4.2
前端·aigc·openai
小村儿2 小时前
连载加餐01-claude code 源码泄漏 ---一起吃透 Claude Code,告别 AI coding 迷茫
前端·后端·ai编程
莫物3 小时前
vue过滤表格数据导致的索引错乱问题
前端·javascript·vue.js
竹林8183 小时前
从监听失败到实时更新:我在NFT铸造项目中搞定合约事件监听的全过程
前端·javascript
光影少年3 小时前
手写防抖和节流
前端·javascript·前端框架