Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

Custom hook example has missing dependency

Offen Anfängerfreundlich
#3,937 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

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

Rechercherichtung

Öffne content/docs/hooks-custom.md und überprüfe das useFriendStatus()-Beispiel in der Nähe von Zeile 91. Aktualisiere die Abhängigkeitsliste des Beispiels wie beschrieben. Überprüfe anschließend, dass die Dokumentation korrekt gerendert wird und das Beispiel die beabsichtigte Abhängigkeit zeigt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

Regarding 'Building Your Own Hook' page (github link).

Small but critical mistake in custom hook example for function useFriendStatus(). It needs a dependency. I.E.
Change line 91 by inserting , [friendID].

Without the dependency this appears to be 'magic'. I found I had to add a dependency when writing my learning hook, otherwise my counter just spins indefinitely.


Example
Custom hook:

function useCounter(targetId: string) {
    const [counter, setCounter] = useState(0);
    
    useEffect(() => {
        setCounter(counter+1);
    }, [targetId]);
    
    return counter;
}

Client code:

interface MainProps {
    counterTargetId: string;
}

export default function MainPage(props: MainProps = {
    counterTargetId: 'a',
}) {

    const currentCount = useCounter(props.counterTargetId);
    
    return (<div>
        <p>
            Count: {currentCount}
        </p>
    </div>);
}
function App() {
    const [targetId, setTargetId] = useState('a');
  return (
    <div className="App">
        <input
            type="button"
            value="Toggle"
            onClick={() => setTargetId(targetId === 'a' ? 'b' : 'a')}/>

        <MainPage counterTargetId={targetId}/>
    </div>
  )
}
Vorherrschende Sprache
JavaScript
Sterne
11.8k
Forks
7.9k
Ø Merge
16 Std. 6 Min.
Gemergte PRs (30 T.)
7

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus reactjs/react.dev

Alle Issues in reactjs/react.dev

Ähnliche Issues

Weitere Issues zu JavaScript

Neue Issues direkt in Ihr Postfach

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