Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

The description of extended Props is not output correctly

未关闭
#997 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
3/5
预计耗时
1-2 天
新手友好度
48/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
停滞
技术栈
typescript
领域
documentation

调研方向

首先使用 @react-docgen/[email protected] 复现 TypeScript 示例,并检查如何选择继承 Props 的描述。跟踪扩展 Props 的处理,并为 FooProps/BarProps 情况添加回归测试。完成标准是 param1 使用 "FooProps param1",同时继承 Props 和其他 Props 的描述保持正确。

由索引模型根据 Issue 内容生成。

描述

I created FooProps by extending BarProps, but the description of FooProps is not used; instead, the description of BarProps is adopted.

Input

export interface BarProps {
  /** BarProps param1 */
  param1: any;
}

export interface FooProps extends BarProps {
  /** FooProps param1 */
  param1: string;
  /** FooProps param2 */
  param2: string;
}

export const Foo = (props: FooProps) => {
  return <div>foo</div>;
};

output

{
  "./src/foo.tsx": [
    {
      "description": "",
      "methods": [],
      "displayName": "Foo",
      "props": {
        "param1": {
          "required": true,
          "tsType": {
            "name": "string"
          },
          "description": "BarProps param1"
        },
        "param2": {
          "required": true,
          "tsType": {
            "name": "string"
          },
          "description": "FooProps param2"
        }
      }
    }
  ]
}

The props.param1.description should be "FooProps param1" instead of "BarProps param1".

Tested on @react-docgen/[email protected]

主要语言
TypeScript
星标
3.8k
派生
316
平均合并
2 小时 29 分钟
30 天内合并 PR
5

环境准备

  • 没有 Dockerfile 或 Docker Compose 文件
  • 没有 Pull Request 模板
  • 阅读贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

reactjs/react-docgen 的其他 Issue

查看 reactjs/react-docgen 的全部 Issue

相似的 Issue

更多 TypeScript Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。