Intellij Idea JSDoc:如何将React元素的@param设置为函数参数?

bxpogfeg  于 2023-03-07  发布在  React
关注(0)|答案(2)|浏览(126)

在下面的示例中,我应该在JSDoc @param块中添加什么,以便IntelliJ Webstorm IDE停止抛出错误:Argument Type ComponentClass<undefined>不能赋给参数类型???...'?

/**
 * Renders the passed component into a div
 * @param { ??? } component // Question: <<<
 */
const myRenderFunc = (component) => (
  <div>{component}</div>
)
7ivaypg9

7ivaypg91#

您的React组件@param类型应为{ReactElement}

imzjd6km

imzjd6km2#

使用@typedef的可能解决方案

/**
 * @typedef { import('./Question') } Question
 */

/**
 * Renders the passed component into a div
 * @param { Question } component
 */
const myRenderFunc = (component) => (
  <div>{component}</div>
)

或者不想使用@typedef

/**
 * Renders the passed component into a div
 * @param { import('./Question') } component
 */
const myRenderFunc = (component) => (
  <div>{component}</div>
)

或者,如果它是Question组件并不重要,只是一个React组件,则可以写入React.ReactElement

/**
 * Renders the passed component into a div
 * @param { React.ReactElement } component
 */
const myRenderFunc = (component) => (
  <div>{component}</div>
)

相关问题