reactjs / reactjs/react-docgen

Functions showing as "unknown" when encased in parentheses

Offen
#994 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

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 have a prop that is defined as propName: (() => string) | undefined and the function portion of it is showing as "unknown" for the tsType

Minimal input

interface Props {
  name: (() => string) | undefined
}

const MyComponent = ({name}: Props) => {
  return <div />;
}

Output:

[
  {
    "description": "",
    "displayName": "MyComponent",
    "methods": [],
    "props": {
      "name": {
        "required": true,
        "tsType": {
          "name": "union",
          "raw": "(() => string) | undefined",
          "elements": [
            {
              "name": "unknown"
            },
            {
              "name": "undefined"
            }
          ]
        },
        "description": ""
      }
    }
  }
]

Tested on v8.0.0

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Reproduziere das Problem mit der bereitgestellten Props-Schnittstelle und dem MyComponent-Beispiel und untersuche anschließend, wie der gemeldete tsType für den parenthesized function type erzeugt wird. Erledigt bedeutet, dass der function branch identifiziert wird, anstatt als "unknown" gemeldet zu werden, während die Union weiterhin undefined enthält; im Issue ist kein Datei- oder Testpfad angegeben.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
react, typescript
Bereich
documentation
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
42/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.