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
相关推荐
网络点点滴2 分钟前
NPM简介
前端·npm·node.js
m0_7482517217 分钟前
腾讯云AI代码助手评测:如何智能高效完成Go语言Web项目开发
前端·golang·腾讯云ai代码助手
liynet41 分钟前
Goland项目内引入字符串标红的解决办法
java·服务器·前端
放下华子我只抽RuiKe51 小时前
Vue进阶之旅:组件通信与高级用法深度剖析(组件通信&进阶用法)
前端·javascript·vue.js·前端框架·node.js·json·html5
CodeCraft Studio1 小时前
「实战应用」如何为DHTMLX JavaScript 甘特图添加进度线
javascript·算法·甘特图
秋刀鱼不做梦3 小时前
前端小案例——网页井字棋
前端·javascript·css·学习·html
用户8381286103303 小时前
探索Google AlloyDB for PostgreSQL:实现聊天消息历史存储
前端
用户0267001994943 小时前
[深入了解Google Trends API的使用与优化指南]
前端
hunter2062063 小时前
linux通过web向mac远程传输字符串,mac收到后在终端中直接打印。
linux·前端·macos
我曾经是个程序员4 小时前
htmlcssJavaScript网页开发:年会手机号抽奖案例
javascript