Dans React.js, plusieurs méthodes sont disponibles pour gérer les composants, gérer les événements du cycle de vie et travailler avec des hooks. Ci-dessous, j'ai classé les méthodes les plus importantes en différentes sections :
1. Méthodes de cycle de vie des composants (composants de classe)
Dans React composants de classe, il existe plusieurs méthodes de cycle de vie que vous pouvez remplacer pour exécuter du code à des moments précis du cycle de vie d'un composant :
Phase de montage (initialisation d'un composant)
Phase de mise à jour (re-rendu en raison de changements d'accessoires ou d'état)
-
getDerivedStateFromProps(props, state) statique
- (Également appelé lors des mises à jour) Utilisé pour mettre à jour l'état en fonction des accessoires.
-
shouldComponentUpdate(nextProps, nextState)
- Détermine si un nouveau rendu est nécessaire.
- Peut être utilisé pour optimiser les performances en évitant les rendus inutiles.
-
rendu()
- (Appelé à nouveau lors des mises à jour)
-
getSnapshotBeforeUpdate(prevProps, prevState)
- Appelé juste avant que les modifications du DOM virtuel ne soient appliquées au DOM réel.
- Utile pour capturer des informations (comme la position de défilement) avant les mises à jour.
-
componentDidUpdate(prevProps, prevState, instantané)
- Appelé immédiatement après la mise à jour.
- Utile pour effectuer des opérations après la mise à jour du composant (par exemple, effectuer des appels d'API en fonction des modifications apportées aux accessoires).
Phase de démontage (nettoyage avant retrait d'un composant)
-
componentWillUnmount()
- Appelé juste avant qu'un composant ne soit démonté et détruit.
- Utile pour nettoyer les abonnements, les minuteries ou les auditeurs d'événements.
Gestion des erreurs
-
componentDidCatch(erreur, info)
- Appelé en cas d'erreur lors du rendu, dans une méthode de cycle de vie ou dans le constructeur d'un composant enfant.
- Utile pour enregistrer les erreurs et afficher l'interface utilisateur de secours.
2. React Hooks (composants de fonction)
Les hooks sont un nouvel ajout dans React 16.8 qui vous permet d'utiliser l'état et d'autres fonctionnalités de React sans écrire de classe.
Crochets de base
-
useState(initialState)
- Vous permet d'ajouter un état à un composant fonctionnel.
- Renvoie une variable d'état et une fonction pour la mettre à jour.
const [count, setCount] = useState(0);
Copier après la connexion
Copier après la connexion
-
useEffect(rappel, dépendances)
- Similaire à composantDidMount, composantDidUpdate et composantWillUnmount combinés.
- Utilisé pour les effets secondaires tels que la récupération de données, les abonnements ou la modification manuelle du DOM.
useEffect(() => {
// Effect logic here
return () => {
// Cleanup logic here (like componentWillUnmount)
};
}, [dependencies]);
Copier après la connexion
Copier après la connexion
-
useContext(Context)
- Vous permet de vous abonner au contexte React sans imbriquer les composants Consumer.
const value = useContext(MyContext);
Copier après la connexion
Copier après la connexion
Crochets supplémentaires
-
useReducer(réducteur, initialState)
- Une alternative à useState pour gérer une logique d'état plus complexe.
const [state, dispatch] = useReducer(reducer, initialState);
Copier après la connexion
Copier après la connexion
-
useCallback(rappel, dépendances)
- Renvoie une version mémorisée d'une fonction de rappel, utile pour optimiser les composants enfants qui reposent sur l'égalité des références.
const memoizedCallback = useCallback(() => {
doSomething();
}, [dependencies]);
Copier après la connexion
-
useMemo(créer, dépendances)
- Renvoie une valeur mémorisée, utilisée pour optimiser les calculs coûteux.
const memoizedValue = useMemo(() => computeExpensiveValue(a, b), [a, b]);
Copier après la connexion
-
useRef(initialValue)
- Renvoie un objet ref mutable, qui persiste entre les rendus.
- Utile pour accéder aux éléments DOM ou stocker des valeurs mutables.
const inputRef = useRef();
Copier après la connexion
-
useImperativeHandle(ref, createHandle, dépendances)
- Personnalise la valeur d'instance exposée lors de l'utilisation de ref avec forwardRef.
useImperativeHandle(ref, () => ({
focus: () => inputRef.current.focus()
}));
Copier après la connexion
const [count, setCount] = useState(0);
Copier après la connexion
Copier après la connexion
3. Méthodes de gestion des événements
React fournit des méthodes de gestion des événements, similaires à la gestion habituelle des événements DOM, mais avec quelques différences :
- onClick
- onChange
- onSubmit
- onFocus
- onBlur
- onKeyPress
Exemple :
useEffect(() => {
// Effect logic here
return () => {
// Cleanup logic here (like componentWillUnmount)
};
}, [dependencies]);
Copier après la connexion
Copier après la connexion
4. Autres méthodes React
Voici des méthodes supplémentaires qui pourraient vous être utiles :
-
React.createRef()
- Utilisé pour créer des références dans les composants de classe.
-
React.forwardRef()
- Passez les références aux composants enfants.
-
React.memo(Composant)
- Un composant d'ordre supérieur qui empêche le nouveau rendu si les accessoires n'ont pas changé.
-
React.lazy()
- Utilisé pour le fractionnement de code et le chargement paresseux de composants.
-
Réagir.Suspense
- Utilisé en combinaison avec React.lazy() pour afficher une solution de repli lors du chargement d'un composant paresseux.
5. Méthodes de routeur React (pour le routage)
-
useNavigate() (React Router v6)
- useParams()
- useLocation()
- useMatch()
Exemple :
const value = useContext(MyContext);
Copier après la connexion
Copier après la connexion
6. Types d'accessoires et accessoires par défaut
-
propTypes
- Utilisé pour valider le type d'accessoires passés à un composant.
-
defaultProps
- Utilisé pour définir les valeurs par défaut des accessoires.
Exemple :
const [state, dispatch] = useReducer(reducer, initialState);
Copier après la connexion
Copier après la connexion
Conclusion
-
Les Les composants de classe sont plus traditionnels et utilisent des méthodes de cycle de vie.
-
Les composants fonctionnels exploitent les hooks et sont généralement préférés dans le développement React moderne en raison de leur simplicité et de leurs avantages en termes de performances.
Utilisez des composants de classe lorsque vous avez besoin d'un contrôle précis sur le cycle de vie des composants et des hooks lorsque vous souhaitez une API plus simple et plus propre.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!