El gancho useEffect es una parte fundamental de React, que le permite realizar efectos secundarios en componentes funcionales. Aquí hay un desglose detallado:
useEffect(() => { // Your side effect code here return () => { // Cleanup code (optional) }; }, [dependencies]);
Función de efecto: El primer argumento es una función que contiene el código del efecto secundario. Esta función se ejecutará después de que el renderizado se envíe a la pantalla.
Función de limpieza (opcional): La función de efecto puede devolver una función de limpieza que React llamará cuando el componente se desmonte o antes de que el efecto se ejecute nuevamente. Esto es útil para limpiar suscripciones o temporizadores.
Matriz de dependencias: El segundo argumento es una matriz de dependencias. El efecto se ejecuta sólo cuando cambia una de las dependencias. Si pasa una matriz vacía ([]), el efecto se ejecuta solo una vez después del renderizado inicial (como componenteDidMount).
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}; };
El gancho useEffect es una herramienta poderosa para manejar efectos secundarios en componentes funcionales, lo que lo hace esencial para el desarrollo moderno de React. Al comprender su sintaxis y sus mejores prácticas, podrá gestionar eficazmente el comportamiento de los componentes y los efectos secundarios.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3