react 之 useCallback

简单讲述下useCallback的使用方法,useCallback也是用来缓存的,只不过是用于做函数缓存

javascript 复制代码
// useCallback

import { memo, useCallback, useState } from "react"


const Input = memo(function Input ({ onChange }) {
  console.log('子组件重新渲染了')
  return <input type="text" onChange={(e) => onChange(e.target.value)} />
})

function App () {
  // 传给子组件的函数
  const changeHandler = useCallback((value) => console.log(value), [])
  // 触发父组件重新渲染的函数
  const [count, setCount] = useState(0)
  return (
    <div className="App">
      {/* 把函数作为prop传给子组件 */}
      <Input onChange={changeHandler} />
      <button onClick={() => setCount(count + 1)}>{count}</button>
    </div>
  )
}

export default App
相关推荐
Amos_Web16 小时前
Rspack 源码解析 (2) —— 从 rspack build 到输出 dist,完整编译链路详解
前端·javascript
漓漾li16 小时前
每日面试题(2026-05-20)- 前端
前端·react.js
颯沓如流星16 小时前
前端 UI 组件专业术语科普指南
前端·ui
超*16 小时前
Bright Data Web Scraping指南 2026: 使用 MCP + Dify 自动采集海外社交媒体数据
前端·人工智能·媒体
洛宇16 小时前
(建议收藏)转型AI应用工程师之RAG:从入门到实战
前端·人工智能·面试
ID_1800790547316 小时前
企业级淘宝评论 API最简说明,JSON 返回示例
java·服务器·前端
张元清16 小时前
Ref 逃生舱:用 React Hook 解决闭包陈旧、回调身份不稳和强制更新
前端·javascript·面试
牛奶17 小时前
抛弃TCP改用UDP,HTTP3疯了吗?
前端·tcp/ip·http3
暗冰ཏོ17 小时前
CSS 超详细讲解(从基础到高级实战)
前端·css·css3·sass·scss
历程里程碑17 小时前
54 深入解析poll多路复用技术
java·linux·服务器·开发语言·前端·数据结构·c++