【问题标题】:JSDoc for a ES6 react component用于 ES6 反应组件的 JSDoc
【发布时间】:2017-07-13 06:22:45
【问题描述】:

我认为 React 组件的 JSDoc 注释可能如下所示:

/**
 * My component...
 *
 * @namespace MyComponent
 * @memberof app.components
 */
app.components.MyComponent = React.createClass({
    })

但是如果我使用的是 ES6,它应该是什么样子的呢?

/**
 * My component...
 *
 * @namespace MyComponent
 * @memberof ??
 */
    class MyComponent extends Component {
      /**
       * PropTypes
       * @param {string} element
       */
      static propTypes = {
          element: PropTypes.object
      }

      /**
       * Constructor
       * How to take care about onChange and states?
       */
      constructor () {
        super()
        this.onChange = this.onChange.bind(this)
        this.state = {
          anything: true
        }
      }
    }

我也不明白如何记录静态 propTypes 和构造函数...

“最佳”文档是否缺少更多标签?

【问题讨论】:

    标签: javascript reactjs jsdoc


    【解决方案1】:

    由于您使用的是 ES6 模块,因此您无需指定命名空间或“@memberof”。

    有一个jsdoc-react,但我建议使用像styleguidist 这样的交互式组件样式指南,它可以处理 jsdoc 和 proptypes。根据他们的documentation,他们不评论构造函数。

    这是list of multiples react living style guide

    【讨论】:

      【解决方案2】:

      您可以将 JSDoc 与更好的文档主题/插件一起使用

      • 它会自动生成文档(Readme 和 HTML 页面)
      • 高度可定制
      • 组件的实时预览

      在这里查看:https://www.inkoop.io/blog/a-guide-to-js-docs-for-react-js/

      【讨论】:

      • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接的答案可能会失效。
      猜你喜欢
      • 2017-04-23
      • 2016-10-14
      • 2016-08-09
      • 1970-01-01
      • 2016-01-14
      • 1970-01-01
      • 2016-08-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多