reactjs / reactjs/react-docgen
The description of extended Props is not output correctly
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- TypeScript
- Sterne
- 3.8k
- Forks
- 316
- Ø Merge
- 5 Std. 7 Min.
- Gemergte PRs (30 T.)
- 4
Beschreibung
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/cli@3.0.0
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne damit, das TypeScript-Beispiel mit @react-docgen/cli@3.0.0 zu reproduzieren, und untersuche, wie Beschreibungen für geerbte Props ausgewählt werden. Verfolge die Verarbeitung der erweiterten Props und füge einen Regressionstest für den Fall FooProps/BarProps hinzu. Als abgeschlossen gilt die Änderung, wenn param1 „FooProps param1“ verwendet, während die Beschreibungen geerbter und anderer Props korrekt bleiben.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- typescript
- Bereich
- documentation
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 48/100