reactjs / reactjs/react.dev

useState of the Tuple type is not safe

Offen
#5,940 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
JavaScript
Sterne
11.8k
Forks
7.9k
Ø Merge
1 T. 11 Std.
Gemergte PRs (30 T.)
11

Beschreibung

I'm reading TS and noticed a vulnerability like UseState, as described in the documentation, we get a tuple of two elements.

The tuple in TS has a vulnerability because you can use array methods like pop, push on them. Which isn't safe because TS doesn't compute the type after that, it stays.

I suggest adding a readonly modifier to avoid these situations

  const state = useState();

  state.pop();

  const [value, setValue] = state;
  
  // setValue is undefined, but ts shows that the value is of type React.Dispatch<React.SetStateAction<undefined>

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

Das Issue nennt keine Dateien, Tests oder Einstiegspunkte in react.dev. Bestimme zunächst, ob das angeforderte readonly useState-Tupel in die Dokumentation oder in die TypeScript-Typdefinitionen von React gehört, und untersuche anschließend die vorhandenen useState-Beispiele und das Typverhalten. Erledigt ist die Aufgabe, wenn das Tupel nicht unsicher mutiert werden kann und das dokumentierte TypeScript-Verhalten verifiziert ist.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
react, typescript
Bereich
documentation
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

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