reactjs / reactjs/react.dev

The example in hooks-faq "is-there-something-like-forceupdate" is wrong

Offen
#2,410 0 Kommentare 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

Direct link: https://reactjs.org/docs/hooks-faq.html#is-there-something-like-forceupdate

The example says

const [ignored, forceUpdate] = useReducer(x => x + 1, 0);

  function handleClick() {
    forceUpdate();
  }

But this makes typescript report an error. (The typescript types are provided by the react team itself right? otherwise I might need to file a bug with the team maintaining the types)

Possible fixes:

const [ignored, forceUpdate] = useReducer(x => x + 1, 0);

  function handleClick() {
    forceUpdate("something"); //I added an argument here
  }

will pass the type checker

const [ignored, forceUpdate] = useState(0); //useState instead of useReducer

  function handleClick() {
    forceUpdate(x => x + 1); //calculate function
  }

is also ok (and a bit nicer IMHO)

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

Öffne den verlinkten Abschnitt der Hooks FAQ „Is there something like forceUpdate?“ und untersuche das darin gezeigte useReducer-Beispiel. Überprüfe das Beispiel mit TypeScript und aktualisiere es mithilfe einer der in diesem Issue beschriebenen Alternativen zur Typprüfung. Erledigt ist die Aufgabe, wenn das Dokumentationsbeispiel den gemeldeten TypeScript-Fehler nicht mehr erzeugt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
javascript, react
Bereich
documentation
Issue-Typ
Dokumentation
Schwierigkeit
1/5
Geschätzter Aufwand
Unter einer Stunde
Aktivitätsstatus
Veraltet
Klarheit
Klar beschrieben
Anfängerfreundlichkeit
45/100

Neue Issues direkt in Ihr Postfach

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