GOOGLE ADS

martes, 3 de mayo de 2022

No capturado (en promesa) TypeError: no se pueden leer las propiedades de nulo (leyendo 'useState')

No puedo entender por qué recibo este error en const [isLoading, setLoading] = useState(true); Se declara como verdadero desde el principio, así que no puedo entender cómo es que nunca está definido

export default async function GetProducts() {
const [isLoading, setLoading] = useState(true);
const [products, setProducts] = useState([]);
useEffect(() => {
if (isLoading) {
let url = 'http://127.0.0.1:8000/products'
const res = axios.get(url);
let data = res.json()
}});
if (isLoading) {
return GetLoadingScreen()
} else {
return RenderProducts(products)
}
}


Solución del problema

Considere no marcar la función del componente React como asíncrona y marcar la función creada useEffectcomo asíncrona en su lugar.

export default function GetProducts() {
const [isLoading, setLoading] = useState(true);
const [products, setProducts] = useState([]);
useEffect(async () => {
if (isLoading) {
let url = 'http://127.0.0.1:8000/products'
const res = await axios.get(url);
let data = res.json()
}});
if (isLoading) {
return GetLoadingScreen()
} else {
return RenderProducts(products)
}
}

No hay comentarios:

Publicar un comentario

Regla de Firestore para acceder a la generación de subcolección Permisos faltantes o insuficientes

Tengo problemas con las reglas de Firestore para permitir el acceso a algunos recursos en una subcolección. Tengo algunos requests document...