Complex composition using `PropTypes.shape`
还没有人认领这个 Issue。
评估
- 难度
- 5/5
- 预计耗时
- 一周以上
- 新手友好度
- 25/100
- Issue 类型
- 功能
- 描述清晰度
- 需要澄清
- 活跃度
- 停滞
- 技术栈
- javascript, react
- 领域
- documentation, tooling
调研方向
该 issue 未指定文件、测试或 parser 入口点,因此首先追踪当前如何处理 PropTypes.shape、oneOfType、arrayOf 和 objectOf。将所请求的嵌套组件和变体组件示例与生成的文档进行比较,并在实现之前定义预期输出和测试。
由索引模型根据 Issue 内容生成。
描述
I have a component that looks something along the lines of
import A from './A';
import B from './B';
class MyComponent extends Component {
...
}
MyComponent.propTypes = {
aProps: PropTypes.shape(A.propTypes),
bProps: PropTypes.shape(B.propTypes),
...
};
Is there a way to make the parser detect that this is a composition rather than simple prop shapes?
I'm doing this because I don't want all the props to live on the wrapper component's scope but to contain each in their own prop, mainly to be able to distinguish what goes where so I don't accidentally pass props that both A and B may have but in reality shouldn't be the same like className, style, children, etc.
I would also like to know if this is possible:
import A from './A';
import VariantOfA from './VariantOfA';
class MyComponent extends Component {
...
}
MyComponent.propTypes = {
aProps: PropTypes.oneOfType([PropTypes.shape(A.propTypes),PropTypes.shape(VariantOfA.propTypes)])
...
};
In this scenario I want to be able to represent with a single prop both A and VariantOfA because essentially they are the same with minor differences in prop types.
I would assume this could be the same for PropTypes.arrayOf and PropTypes.objectOf since they're not that different from PropTypes.oneOfType
- 主要语言
- TypeScript
- 星标
- 3.8k
- 派生
- 316
- 平均合并
- 3 小时 28 分钟
- 30 天内合并 PR
- 6
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
reactjs/react-docgen 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 78/100
reactjs/react-docgen#1102 ·
-
难度 5/5 一周以上 新手友好度 20/100
reactjs/react-docgen#1005 · 4 个 reaction ·
-
难度 3/5 1-2 天 新手友好度 48/100
reactjs/react-docgen#997 ·
-
难度 3/5 1-2 天 新手友好度 42/100
reactjs/react-docgen#994 · 1 条评论 ·
-
难度 4/5 3-5 天 新手友好度 25/100
reactjs/react-docgen#982 · 2 条评论 ·
查看 reactjs/react-docgen 的全部 Issue
相似的 Issue
-
VerificationGate: ATTRIBUTION quote guard never matches a normal quotation (\b around the quote) 未关闭
难度 2/5 1-3 小时 新手友好度 75/100
danielmiessler/LifeOS#2234 ·
-
T: Bug
难度 2/5 1-3 小时 新手友好度 75/100
-
难度 2/5 1-3 小时 新手友好度 65/100
-
难度 1/5 1 小时以内 新手友好度 85/100
-
Mend: dependency security vulnerability untriaged
难度 2/5 1-3 小时 新手友好度 70/100