reactjs / reactjs/react.dev

[Hooks] What is accepted on useEffect's 2nd argument

Offen
#1,351 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

I assume currently it only do equal (===) comparison, since passing array of array isn't preventing it.

import React, { useState, useEffect } from 'react';

export default () => {
  let [count, setCount] = useState(0);
  let guard = [0, 1, 2];
  useEffect(() => {
    setTimeout(() => {
      setCount(count + 1);
    }, 2000); // delay to prevent lagging
  }, [guard]);
  return <div>{count}</div>;
};

I don't find anything in current documentation. I think it is needed to add accepted types passed into that 2nd argument.

On side note, I wonder what In the future, the second argument might get added automatically by a build-time transformation. phrase means.

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 Dokumentationseinstiegspunkt für useEffect und dem nested-array-Beispiel des Issues; überprüfe, was das zweite Argument akzeptiert und wie der Vergleich von Abhängigkeiten beschrieben wird. Erkläre außerdem den zitierten Satz zur build-time-transformation. Als erledigt gilt die Aufgabe, wenn die Dokumentation beide Fragen klar beantwortet, einschließlich des Verhaltens des Beispiels.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

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

Neue Issues direkt in Ihr Postfach

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