reactjs / reactjs/react-docgen
Missing support for `Pick<>` and `Omit<>`
Personne n'a encore pris cette issue.
- Langage dominant
- TypeScript
- Étoiles
- 3.8k
- Forks
- 316
- Merge moyen
- 5 h 7 min
- PR mergées (30 j)
- 4
Description
Whenever an interface is using the typescript features Pick or Omit, then we don't get any props from these interfaces/types.
In the case of an interface like this:
import { type LinkProps } from "next/link";
interface MyComponentProps
extends Pick<LinkProps, "prefetch" | "replace" | "scroll" | "shallow"> {
children?: React.ReactNode;
}
export const MyComponent: FunctionComponent<MyComponentProps> = () => {
return <>My Component</>;
};
-> in this case it will only find "children" as prop.
import { type LinkProps } from "next/link";
interface MyComponentProps
extends Pick<LinkProps, "prefetch" | "replace" | "scroll" | "shallow"> {
children?: React.ReactNode;
}
export const MyComponent: FunctionComponent<MyComponentProps> = () => {
return <>My Component</>;
};
The same with Omit<>:
import { type LinkProps } from "next/link";
interface MyComponentProps
extends Omit<LinkProps, "prefetch" | "replace" | "scroll" | "shallow"> {
children?: React.ReactNode;
}
export const MyComponent: FunctionComponent<MyComponentProps> = () => {
return <>My Component</>;
};
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par reproduire les exemples TypeScript signalés avec Pick et Omit, en vérifiant les props extraites pour chaque interface. Le travail est terminé lorsque les props héritées via les deux types utilitaires sont incluses avec les props déclarées explicitement.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- next.js, react, typescript
- Domaine
- developer-experience, devtools
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100