你如何在 Javascript 中为 TypeScript 编译器编写 JSDoc?

How do you write JSDoc in Javascript for TypeScript Compiler?

我知道用TS编译器可以检查JS代码。而且我知道 TS 编译器理解 JSDoc 注释 (https://github.com/Microsoft/TypeScript/wiki/JSDoc-support-in-JavaScript)。

我想在我的 React 项目中使用 TS 编译器,但我不知道如何使用 JSDoc 指定道具定义:(

我试过了

class PropertyDetails extends React.Component {
  static propTypes = {
    breadcrumbChange: PropTypes.func,
    folderId: PropTypes.string.isRequired
  }

  /**
   * @typedef {Object} Props
   * @property {function} breadcrumbChange
   * @property {string} folderId
   */

  /**
   * @constructor
   * @param {Props} props
   */
  constructor(props) {
    super(props);

但是没用。

要使 IntelliSense 和类型检查正常工作,您必须为组件指定道具类型 class,因为在类型中它被描述为通用对象。所以如果你尝试这样的事情

/**
 * @typedef {Object} Props
 * @prop {Function} breadcrumbChange
 * @prop {string} folderId
 * @extends React.Component<Props>
 */
class PropertyDetails extends React.Component {
}

它应该有效