Buenas tardes, me encuentro con el siguiente error en la consola. <code>//App.jsx import React from 'react'; import Header from '../comp...

Pregunta de la clase:
Custom Hooks
Óscar Andrés Ugarte De La Fuente

Óscar Andrés Ugarte De La Fuente

Pregunta
studenthace 5 años

Buenas tardes, me encuentro con el siguiente error en la consola.

Captura.PNG

//App.jsx import React from 'react'; import Header from '../components/Header'; import Search from '../components/Search'; import Categories from '../components/Categories'; import Carousel from '../components/Carousel'; import CarouselItem from '../components/CarouselItem'; import Footer from '../components/Footer'; import useInitialState from '../hooks/useInitialState'; import '../assets/styles/App.scss'; const API = 'http://localhost:3000/initialState/'; const App = () => { const initialState =useInitialState(API); return initialState.lenght === 0 ? <h1>Loading...</h1>:( <div className="App"> <Header></Header> <Search></Search> {/* validamos si es que en la api si tenga objetos en array de mi lista */} {initialState.mylist.lenght > 0 && <Categories title="Mi lista"> <Carousel> {initialState.mylist.map(item=> <CarouselItem key={item.id}{...item}> </CarouselItem> )} </Carousel> </Categories> } <Categories title="Tendencias"> <Carousel> {initialState.trends.map(item=> <CarouselItem key={item.id}{...item}> </CarouselItem> )} </Carousel> </Categories> <Categories title="Originales de platzi video"> <Carousel> <CarouselItem> {initialState.originals.map(item=> <CarouselItem key={item.id}{...item}> </CarouselItem> )} </CarouselItem> </Carousel> </Categories> <Footer></Footer> </div> ) }; export default App;
//useInitialState.js import {useState,useEffect} from 'react'; const useInitialState = (API) =>{ const [videos, setVideos] = useState([]); useEffect(()=>{ fetch(API) .then(response => response.json()) .then(data => setVideos(data)); }, []); return videos; } export default useInitialState;
2 respuestas
para escribir tu comentario
    Lucía Amaya Sánchez Hernández

    Lucía Amaya Sánchez Hernández

    studenthace 5 años

    Creo que el problema que tienes es que "lenght" está mal escrito. es length. Intenta corregir eso a ver si te funciona.

    esta es la línea del error return initialState.lenght === 0 ? <h1>Loading...</h1>:(

    Óscar Andrés Ugarte De La Fuente

    Óscar Andrés Ugarte De La Fuente

    studenthace 5 años

    en el app.jsx, tenia un <CarouselItem> que envonvia al .map, solo lo tuve que quitar

    <Categories title="Originales de platzi video"> <Carousel> {initialState.originals.map(item=> <CarouselItem key={item.id}{...item}></CarouselItem> )} </Carousel> </Categories> <Footer></Footer>

    Y en el useInitialState tuve que agregar lo siguiente para que funcionara

    import {useState,useEffect} from 'react'; const useInitialState = (API) =>{ const [videos, setVideos] = useState({ mylist: [], trends: [], originals: [] }); // ^ ^ useEffect(()=>{ fetch(API) .then(response => response.json()) .then(data => setVideos(data)); }, []); return videos; } export default useInitialState;```
Curso Práctico de React JS

Curso Práctico de React JS

React es una de las librerías más utilizadas hoy para crear aplicaciones web. Aprende a través de la creación de la interfaz de PlatziVideo todo lo que necesitas para crear increíbles componentes con React

Curso Práctico de React JS
Curso Práctico de React JS

Curso Práctico de React JS

React es una de las librerías más utilizadas hoy para crear aplicaciones web. Aprende a través de la creación de la interfaz de PlatziVideo todo lo que necesitas para crear increíbles componentes con React