reactjs / reactjs/react.dev

Guarantees about re-rendering and setState batching inside an event handler

Offen
#3,719 2 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

Hi,
I have React 17 and I am using hooks. I believe answer is hinted by "Multiple updates inside event handlers get batched into a single update." ... https://reactjs.org/docs/implementation-notes.html#what-we-left-out , but I am not 100% sure I understand it correctly.

Does React guarantee that while my event handler is being processed no re-render happens? That is first re-render happens after my event handler exits.

  const onClick = () => {
    setState1(1);
    // do some stuff
    setState1(2);
    // do some stuff
    setState4(4);

    // no-rerender will ever be called by React until this point (that is until function returns) ???
    // re-render is only scheduled to happen ASAP
  } 

Thanks for answering :)

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 damit, die verlinkten React-Implementierungshinweise zu lesen und das in der Frage beschriebene Batching-Verhalten von Event-Handlern in React 17 zu überprüfen. Ermittle, ob die Dokumentation eine Garantie bezüglich des Zeitpunkts von Re-Renders und des Batchings von setState enthalten sollte, und aktualisiere anschließend die relevante Dokumentation, sobald der beabsichtigte Wortlaut und Umfang bestätigt sind.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
javascript, react
Bereich
documentation
Issue-Typ
Dokumentation
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
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.