如何用jsdoc记录useCallback?

问题描述 投票:0回答:2

如果我有箭头函数,包裹在 React

useCallback
中,我该如何用 JSDoc 来记录它?

const floopPig = useCallback((pigKey, floopCost) => {
  const pigAbility = pigs[pigKey];
  if (pigAbility.floopCost < magicPoints) {
    return pigAbility.activate()
  } else {
    throw new Error('Not enough magic points');
  }
}, [pigs, magicPoints])

我一直在 VSCode 中尝试此操作,但将鼠标悬停在上面时没有显示任何内容:

/**
 * Floops a pig
 * @callback
 * @param {number} pigKey unique key for each pig
 * @param {number} floopCost how much the ability costs to activate
 */

我认为我已正确遵循 @callback

 文档。但基于这个答案,也许我使用
@callback
的目的是错误的?

我该如何记录这个?

reactjs jsdoc usecallback react-usecallback
2个回答
3
投票

我已经成功记录了回调函数本身。

const getNewToken = useCallback(
    /**
     * Requests a token, either by the normal flow or with a refresh token
     * @param {URLSearchParams} axiosBody The body of the axios request
     */
    async (axiosBody) => {
        //Function
    }, [myVar]);

在代码的下方,当我调用我的函数时,我可以看到智能感知发挥了它的魔力。我不是 100% 确定这是最好的答案,但这是我找到的最好的答案


0
投票

我认为更简单的方法是只记录结果回调,内部传递的回调将自动推断类型。喜欢

/**
 * @type {(param:string) => void}
 */
const callback = useCallback((param) => {
    param.trim(); // whatever
}, []);

© www.soinside.com 2019 - 2024. All rights reserved.