[英]How can I implement a `isHook` function?
如何检测传递的函数是否是 React Hook 函数?
isHook(useState); // return true
isHook(() => {}); // return false;
我需要知道对象属性的附加函数是否是钩子。 如果它是另一个函数的“正常函数”,我需要调用该函数。
在这里聚会有点晚了,但希望这会有所帮助。
React 盲目地认为任何命名的函数(“use”后跟一个大写字母)都是 Hook。
知道了这一点,您可以引用一个函数,将其名称作为字符串获取,并应用相同的盲匹配。
const useMyCustomHook = () => {...}
useMyCustomHook.name; // "useMyCustomHook"
const isAHook = (ref) =>
ref && typeof(useTest) === 'function' && /^use[A-Z]+/.test(ref.name)
isAHook(useMyCustomHook); // true
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.