JSDoc用于ES6反应组件

时间:2017-07-13 06:22:46

标签: javascript reactjs jsdoc

我认为反应组件的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和构造函数......

'最佳'是否缺少更多标签?文件可能吗?

2 个答案:

答案 0 :(得分:4)

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

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

这是list of multiples react living style guide

答案 1 :(得分:1)

您可以使用具有更好文档主题/插件的JSDoc

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

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