【发布时间】:2021-05-17 03:30:36
【问题描述】:
我在 useEffects 中以相同的格式语法使用了许多 useCallbacks,并且想缩短它们。所以,我将它们映射到这个钩子中。 effects 是一个 useCallback 函数数组。
import React from 'react';
const useEffects = (effects: Function[]) =>
effects.map((effect) =>
React.useEffect(() => {
effect();
}, [effect])
);
export default useEffects;
【问题讨论】:
-
是的,你不能在回调中
useEffect -
React hooks 应该在组件的最顶层调用,请查看reactjs.org/docs/…
-
我相信你不能在数组中使用钩子。因为我们不知道数组的长度。所有的钩子都是根据它们的物理位置顺序注册的。