首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当函数作为依赖于useMemo依赖数组时使用useMemo或useCallback更好

当函数作为依赖于useMemo依赖数组时使用useMemo或useCallback更好
EN

Stack Overflow用户
提问于 2022-09-29 12:01:15
回答 1查看 23关注 0票数 1

我有一段用useMemo包装的代码,它使用一个函数作为一个依赖项返回一些数据,在本例中使用useMemo是否值得,因为我们返回数据,还是更好地返回useCallback?

示例:

代码语言:javascript
复制
 // useMemo vs useCallback ?
 const getConfigs = useCallback((configs)=> {
   return configs.filter(...some filtering logic)
 }, [])

const getConfigs = useMemo(()=> {
   return configs.filter(...some filtering logic)
 }, [props.configs])

 const someMemoData = useMemo(()=>{
   return {
     names: props.names,
     configs: getConfigs(props.configs) or getConfigs in case useMemo
  }
 }, [props.names, getConfigs, props.configs])
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-29 12:22:56

如果返回数据,请使用useMemo

如果返回函数,请使用useCallback

他们都接受相同的参数。他们的第一个论点是回调。唯一的区别是:

代码语言:javascript
复制
useMemo(cb) returns cb()
useCallback(cb) returns cb

useCallback(() => {})useMemo(() => () => {})相同

您的getConfigs返回一个函数,所以最好对它使用useCallback。当someMemoData返回对象时,使用useMemo

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73895213

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档