首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >react中的useMemo与useCallback?

react中的useMemo与useCallback?
EN

Stack Overflow用户
提问于 2021-03-31 09:45:53
回答 2查看 70关注 0票数 1

我试图理解useMemo和useCallback之间的区别,以及文档"useCallback(fn,deps)等同于useMemo(() => fn,deps)“中的这句话。

所以在useMemo中,我必须传递一个返回函数的函数?在useCallback中,我只返回一个函数。我得到了useCallback,但是我不确定useMemo和这个返回函数的函数(或者我全搞错了)。阅读SO的帖子在这里还不是很有帮助。

如果useMemo正在调用一个返回函数的函数,那么在react中调用第二个函数是什么时候?

EN

回答 2

Stack Overflow用户

发布于 2021-03-31 16:54:03

如果你想记住一个函数,你可以使用语法:useCallback(fn, deps)useCallback。但是如果你想记住函数的返回值,那么你应该使用useMemo,语法:useMemo(() => fn(), deps)

现在,如果我比较以下语句中的两个语法

useCallback(fn, deps)等同于useMemo(() => fn, deps)

在这里,对于useMemo,您没有调用fn,所以您得到的是函数本身,而不是它的返回值。在本例中,useCallback(fn, deps)useMemo(() => fn, deps)都为您提供了带记忆的fn

票数 1
EN

Stack Overflow用户

发布于 2021-03-31 19:28:57

useMemo

返回记忆中的值。这意味着它为你提供了价值的参考权益。

useCallback

返回记忆中的回调。这意味着它为您提供了函数的引用权益。

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

https://stackoverflow.com/questions/66880541

复制
相关文章

相似问题

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