Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

251
Vistas
How to wait until a value is defined until passing it down as a prop in a component

I have a React component that uses useEffect and axios to receive data from an API. The data is then stored in some state whose initial value is "null". I am trying to pass the state down as a prop but it isn't defined until the useEffect function is complete. I am using double ampersands and it still isn't defined. How do I wait until the state is defined before passing it down as a prop? This is how I am attempting to do it.

import { useState, useEffect } from "react"
import Component from "./Component"
import axios from 'axios'

export default function Items() {
  const [item, setItem] = useState(null)

  useEffect(() => {
    axios.get(`http://testapi/item`).then((res) => {
      setItem(res.data)
    })
  }, [])

  return (
    <div>
      <Component code={item && item._id} />
    </div>
  )
}
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Like the others said, I would go for conditional rendering but since the fetch is run on the page load display some loading text and/or a spinner.

import { useState, useEffect } from "react"
import Component from "./Component"
import axios from 'axios'

export default function Items() {
  const [item, setItem] = useState(null)

  useEffect(() => {
    axios.get(`http://testapi/item`).then((res) => {
      setItem(res.data)
    })
  }, [])

  const dataToShow = () => {
    if (item) return <Component code={item && item._id} />
    return <p>...loading</p>
  }

  return (
    <div>
      {dataToShow()}
    </div>
  )
}
about 4 years ago · Juan Pablo Isaza Denunciar

0

Just get the condition out:

return (
    <div>
       {item && <Component code={item._id} />}
    </div>
  )
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda