reactjs / reactjs/react-docgen
wrong `composes` for propType objects that are wrapped
Nessuno ha ancora preso questa issue.
- Lingua principale
- TypeScript
- Stelle
- 3.8k
- Fork
- 316
- Merge medio
- 5h 7m
- PR unite (30g)
- 4
Descrizione
Hello!
when defining prop types people do all sorts of things, for example:
import omit from 'lodash/omit';
import OtherComponent from 'important/path';
export default class Component extends React.PureComponent {
propTypes = {
...omit(OtherComponent.propTypes, ['exclude', 'us']),
something: bool
};
// ...
}
Expected
composes array is ['important/path']
Actual
composes array is ['lodash/omit']
i'm not even sure how this should be handled.
In example above it seems that extracting first argument from function
should be enough. But what if the composed prop types are not first
argument?
Should react-docgen support such cases at all? It seems valid to do so
from JS perspective but generated documentation is incomplete.
Recently https://github.com/reactjs/react-docgen/issues/248 was closed, so perhaps this issue should be considered too.
Thanks for the library!
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia tracciando come react-docgen ricava l’array composes dalle espressioni prop-type racchiuse, usando l’esempio omit(OtherComponent.propTypes, ...) come riproduzione. Confronta il risultato atteso important/path con il risultato effettivo lodash/omit e determina come devono essere gestiti gli argomenti composti non in prima posizione. Il lavoro è completato quando il comportamento è definito e coperto per i casi supportati di espressioni racchiuse.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- javascript, react
- Ambito
- documentation
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 35/100