【发布时间】:2020-12-15 04:17:49
【问题描述】:
在组件 A 中:
const getOnClick = useCallback(
(rec: GenericRec): (() => void) => () => {
setSelectedRecord(rec);
},
[],
);
在 A 的子组件 B 中:
const openRecord = useCallback(
(row: Row<Record>) => () => {
getOnClick({ id: row.original.id, name: row.original.name });
},
[getOnClick],
);
getOnClick 未被调用
【问题讨论】:
-
“是否可以在另一个回调中调用 useCallback” 除非那个回调是钩子或组件。不过没关系,你没有在回调中使用
useCallback。 -
从另一个函数调用你用
useCallback记忆的函数就可以了。请使用 minimal reproducible example 来更新您的问题,以展示问题,最好是使用 Stack Snippets([<>]工具栏按钮)的 runnable 问题。 Stack Snippets 支持 React,包括 JSX; here's how to do one。 (您必须注释掉 TypeScript 类型注释。)
标签: reactjs typescript usecallback