reactjs / reactjs/react-docgen
Stateless function components without React.createElement or JSX?
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
react-docgen is unable to find stateless function components that don't contain JSX or React.createElement call expressions.
This might be the case when some helper library is used. This will also fail if the official React.DOM helpers are used (https://github.com/reactjs/react-docgen/pull/71). Another failing case would be if only React components are returned, but React.createElement was never called because the components were wrapped in React.createFactory.
What about adding support for another heuristic, such as having a propTypes property (and to be even more specific, a propTypes property with an object containing React.PropTypes entries).
I'm happy to implement this and add tests if this sounds reasonable to the maintainers.
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, die bestehende Erkennung zustandsloser Funktionskomponenten in react-docgen nachzuverfolgen und die Tests für Komponenten zu überprüfen, die React.createElement verwenden. Vergleiche die vorgeschlagene propTypes-Heuristik mit React.DOM-Hilfsfunktionen und React.createFactory-Fällen; als abgeschlossen gilt die Aufgabe, wenn diese Komponenten erkannt werden, ohne das bestehende Erkennungsverhalten zu beeinträchtigen, und die Tests die unterstützten Muster abdecken.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- react, typescript
- Bereich
- tooling
- Issue-Typ
- Feature
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100