我认为反应组件的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和构造函数…
是否有更多标签可用于“最佳”文档?
最佳答案
由于您使用的是ES6模块,因此无需指定命名空间和’@memberof’.
有一个jsdoc-react,但我建议使用像styleguidist这样处理jsdoc和proptypes的交互式组件样式指南.根据他们的documentation,他们不评论构造函数.