reactjs / reactjs/react-docgen

wrong `composes` for propType objects that are wrapped

Aperta
#283 0 commenti 5 reazioni 0 assegnatari Vedi su GitHub

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

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. 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

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.