Custom hook example has missing dependency
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
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>
)
}
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
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.
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
- 70/100