Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

111
Visualizações
useEffect e indefinido

Estoy tratando de iniciar indefinido, pero no entiendo, lo que estoy haciendo mal. Necesito inicializar personas sin undefined ingrese la descripción de la imagen aquí

 import { useEffect, useState } from "react"; import { SearchBar } from "./SearchBar"; import { getPersons } from "../../apies/api"; import { ListOfPersons } from "./listOfPersons"; const Home = () => { const [valueOfInput, valueOfInputChange] = useState("") const [persons, setPersons] = useState() useEffect(() => { getPersons().then(response => setPersons(response)) }, [setPersons]); console.log(persons) return <div> <h1>Поиск персонажей</h1> <SearchBar personGetRequest={valueOfInputChange}/> <ListOfPersons personsList={persons}/> </div>; }; export default Home;
about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

Debe inicializar las personas con una matriz vacía, entonces no se mostrará indefinido. Me gusta el siguiente código

 const [persons, setPersons] = useState([])
about 4 years ago · Juan Pablo Isaza Relatório

0

Te sugiero que:

  1. Llame a la función getPersons solo en el montaje del componente con una matriz vacía en la matriz de dependencias
  2. Inicialice el estado de las personas con una matriz vacía
  3. Tenga cuidado con el tipo de respuesta de su api (un objeto con los campos de count , next , previous , result ), para llamar a la función setPersons con el result
  4. Tenga cuidado con los errores cuando llame a la API getPersons con una instrucción catch que establecerá una matriz vacía, por ejemplo.
  5. Es posible que lea personas solo cuando las personas cambien en lugar de cada representación, por lo que podría colocar su console.log dentro de un useEffect con una matriz de personas dentro de la matriz de dependencias.
 import { useEffect, useState } from "react"; import { SearchBar } from "./SearchBar"; import { getPersons } from "../../apies/api"; import { ListOfPersons } from "./listOfPersons"; const Home = () => { const [valueOfInput, valueOfInputChange] = useState("") const [persons, setPersons] = useState([]) useEffect(() => { getPersons() .then(response => setPersons(response.data.results)) .catch(e => setPersons([]) }, []); useEffect(()=>console.log(persons),[persons]) return <div> <h1>Поиск персонажей</h1> <SearchBar personGetRequest={valueOfInputChange}/> <ListOfPersons personsList={persons}/> </div>; }; export default Home;
about 4 years ago · Juan Pablo Isaza Relatório

0

Debería usar esto para obtener datos

 useEffect(() => { getPersons().then(response => setPersons(response.data.data)) }, [setPersons]); console.log(persons)
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda