Tengo el siguiente fragmento de código en uso mientras envuelvo toda mi aplicación React con <React.StrictMode> .
function Quiz() { const fetchData = useCallback( async () => { console.log("hiho"); }, [] ); useEffect(() => { fetchData(); }, [fetchData]) return ( <> </> ) } Para la carga inicial de mi aplicación, fetchData se llama dos veces dentro de mi useEffect() . Estoy un poco desconcertado porque asumí que useCallback() evitaría esto (aunque StrictMode llama a la representación dos veces).
¿Debería preocuparme de que se llame dos veces a fetchData ? En mi caso, fetchData devuelve datos aleatorios que luego tienen el efecto secundario de que los datos cambian durante el proceso de procesamiento en el desarrollo.
Intente eliminar fetchData de la matriz de dependencias useEffect. Creo que eso debería representarlo solo una vez.
function Quiz() { const fetchData = useCallback( async () => { console.log("hiho"); }, [] ); useEffect(() => { fetchData(); }, []) return ( <> </> ) }