【发布时间】:2022-02-23 05:55:00
【问题描述】:
我正在记录我的 React Native 组件,但我不知道如何正确完成。
对于文档生成,我使用的是 jsdoc/better-docs,据说它能够收集您留在 PropTypes 上的 cmets 并将它们包含在文档中。但是...由于不兼容问题,无法在 React Native 中执行此策略,因此,PropTypes 未包含在文档中。
你如何使用 JSDOC 记录这个 React 组件?
/**
* ??
*/
function Cat({ name, color = "#000" }) {
return <View />;
}
Cat.propTypes = {
name: PropTypes.string.isRequired,
color: PropTypes.string,
};
我正在做以下事情:
/**
* The cat properties.
*
* @typedef {object} Props
* @property {string} name - The cat name.
* @property {string} [color="#000"] - The cat color.
*/
/**
* Cat component.
*
* @type {React.FC<Props>}
* @returns {React.ReactElement} The cat.
*/
function Cat({ name, color = "#000" }) {
return <View />;
}
Cat.propTypes = {
/** The cat name. */
name: PropTypes.string.isRequired,
/** The cat color. */
color: PropTypes.string,
};
但是我觉得在添加类型定义(?)之后,prop-types 没用了。
你如何记录你的反应组件?
【问题讨论】:
-
另外,如果我在 JSDoc 中使用 complete 类型定义,并且(对于同一个组件)在
component.propTypes中使用简单的PropTypes.object,我会感到很烦linter 警告,这让我怀疑 jsdoc 和 proptypes 的并行使用。
标签: javascript reactjs react-native jsdoc