Le hook useEffect est un élément fondamental de React, vous permettant d'effectuer des effets secondaires dans les composants fonctionnels. Voici une répartition détaillée :
useEffect(() => { // Your side effect code here return () => { // Cleanup code (optional) }; }, [dependencies]);
Fonction d'effet : le premier argument est une fonction qui contient le code de l'effet secondaire. Cette fonction s'exécutera une fois le rendu validé à l'écran.
Fonction de nettoyage (facultatif) : la fonction d'effet peut renvoyer une fonction de nettoyage que React appellera lorsque le composant sera démonté ou avant que l'effet ne soit réexécuté. Ceci est utile pour nettoyer les abonnements ou les minuteries.
Tableau de dépendances : le deuxième argument est un tableau de dépendances. L'effet s'exécute uniquement lorsque l'une des dépendances change. Si vous transmettez un tableau vide ([]), l'effet ne s'exécute qu'une seule fois après le rendu initial (comme composantDidMount).
import React, { useEffect, useState } from 'react'; const DataFetchingComponent = () => { const [data, setData] = useState(null); useEffect(() => { fetch('https://api.example.com/data') .then(response => response.json()) .then(data => setData(data)) .catch(error => console.error('Error fetching data:', error)); }, []); // Runs only once after the initial render return{data ? JSON.stringify(data) : 'Loading...'}; };
import React, { useEffect } from 'react'; const EventListenerComponent = () => { useEffect(() => { const handleResize = () => { console.log('Window resized:', window.innerWidth); }; window.addEventListener('resize', handleResize); // Cleanup function to remove the event listener return () => { window.removeEventListener('resize', handleResize); }; }, []); // Runs only once after the initial render returnResize the window and check the console.; };
import React, { useEffect, useState } from 'react'; const TimerComponent = ({ delay }) => { const [count, setCount] = useState(0); useEffect(() => { const timer = setInterval(() => { setCount(prevCount => prevCount 1); }, delay); // Cleanup function to clear the timer return () => clearInterval(timer); }, [delay]); // Runs every time `delay` changes returnCount: {count}; };
Le hook useEffect est un outil puissant pour gérer les effets secondaires dans les composants fonctionnels, ce qui le rend essentiel pour le développement React moderne. En comprenant sa syntaxe et ses bonnes pratiques, vous pouvez gérer efficacement le comportement des composants et leurs effets secondaires.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3