Use a better example for Effect hook
Personne n'a encore pris cette issue.
- Langage dominant
- JavaScript
- Étoiles
- 11.8k
- Forks
- 7.9k
- Merge moyen
- 1 j 11 h
- PR mergées (30 j)
- 11
Description
The following example is used in:
import React, { useState, useEffect } from 'react';
function Example() {
const [count, setCount] = useState(0);
// Similar to componentDidMount and componentDidUpdate:
useEffect(() => {
// Update the document title using the browser API
document.title = `You clicked ${count} times`;
});
return (
<div>
<p>You clicked {count} times</p>
<button onClick={() => setCount(count + 1)}>
Click me
</button>
</div>
);
}
This example creates confusion because the example doesn't actually need useEffect to operate correctly.
If you set document.title outside of the useEffect, the app behaves exactly the same.
Suggested changes
-
Use an example which would not work correctly if it wasn't placed in a
useEffect. It should be something that depends on the DOM having been updated. Maybe setting thedocument.titleto adocument.getElementByIdor something like that. This would also be a contrived/useless example. Something practical would be better. -
Show the lifecycle of useEffect early. I was most interested in the lifecycle of when this method is called. In Dan's recent blog post on effects, this is the first thing that is covered, and it should be the same for these docs.
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par les exemples de Effect Hook dans hooks-overview.html#effect-hook et hooks-effect.html, puis comparez l’exemple actuel avec la présentation du cycle de vie dans la documentation référencée. Remplacez l’exemple déroutant par un exemple qui montre pourquoi useEffect est nécessaire et présentez son cycle de vie plus tôt ; le travail est considéré comme terminé lorsque les deux pages expliquent le comportement de manière cohérente et présentent l’exemple amélioré.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- javascript, react
- Domaine
- documentation
- Type d'issue
- Documentation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 42/100