microsoft / microsoft/TypeScript

Enum is not assignable to type string

Offen
#43,039 6 Kommentare 7 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

In Discussion Suggestion
Vorherrschende Sprache
Go
Sterne
111k
Forks
14.3k
Ø Merge
2 T. 4 Std.
Gemergte PRs (30 T.)
132

Beschreibung

Bug Report

Strings in an Enum form are not assignable to fields that require type string.

🔎 Search Terms
  • Enum as a string parameter
  • Enum is not assignable to type string
  • TS2322
🕗 Version & Regression Information
  • This is the behavior between versions 4.1.15 and 4.2.2.
⏯ Playground Link

Playground link with relevant code

💻 Code
import React from 'react'

enum Config {
    Name = 'TS',
    Width = 200,
    Height = 200
}

export default function Example(){
    return <div id={Config.Name}></div>
}
🙁 Actual behavior

The terminal is complaining with the following message:

Type 'Config' is not assignable to type 'string | undefined'.
🙂 Expected behavior

Code works without the error message.

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

Beginne mit dem verlinkten TypeScript Playground-Repro und vergleiche sein Verhalten zwischen den Versionen 4.1.15 und 4.2.2. Verfolge den Type-Checking-Pfad für den Enum-Wert, der an das JSX-String-Attribut übergeben wird, und füge anschließend einen Regressionstest hinzu; abgeschlossen ist die Aufgabe, wenn das Repro TS2322 nicht mehr meldet.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
typescript
Bereich
compilers
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Klar beschrieben
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

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