相关疑难解决方法(0)

如何使用 jsdoc 注释注释 React.forwardRef 以便智能感知可以显示给底层组件?

我有一个以函数形式编写的 React 组件,如下所示:

function Button({ text, icon }) {
  return ...
}

Button.propTypes = {
  text: PropTypes.string.isRequired,
  icon: PropTypes.string.isRequired
}
Run Code Online (Sandbox Code Playgroud)

使用此组件时,我在 vscode 中获得自动完成/智能感知

如果我将此组件包装在 React.forwardRef 中, export default React.forwardRef((props, ref) => <Button btnRef={ref} {...props} />)

然后我得到了该forwardRef函数的智能感知,这对我的使用没有帮助,因为现在我无法让道具自动完成/显示在智能感知中。

我尝试React.forwardRef使用 jsdoc extends/进行注释augments,但没有成功,在这种情况下,即使forwardRef使用的默认智能感知也会停止显示。(我相信这是因为 vscode 比 jsdoc 注释更倾向于可用类型)。有没有办法让我获得与未包装组件类似的包装组件的智能感知?这符合我对以与未包装组件类似的方式使用包装组件的理解。

javascript typescript reactjs visual-studio-code

7
推荐指数
1
解决办法
2859
查看次数