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

210
Vistas
Cómo establecer el valor inicial de useState en React basado en accesorios

Actualmente configuro mi estado active en 0:

 const [active, setActive] = useState(0);

pero me pregunto cómo puedo establecer el valor inicial en null si uno de mis accesorios de componente: isFilterMode es verdadero. Entonces, ¿el estado inicial es "dinámico" basado en los accesorios?

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Prueba como a continuación

 const [active, setActive] = useState(props.isFilterMode ? null : 0);

O

usando una función de devolución de llamada ( lazy initialisation )

 const [active, setActive] = useState(() => props.isFilterMode ? null : 0);
about 4 years ago · Juan Pablo Isaza Denunciar

0

const Component = ({ isFilterMode }) => { const [active, setActive] = useState(() => isFilterMode ? null : 0); ... }
about 4 years ago · Juan Pablo Isaza Denunciar

0

puede definir una expresión con un valor de retorno como argumento para useState. Con un operador ternario como props.isFilterMode ? null : 0 devolvería null si el valor de props.isFilterMode evalúa como verdadero y 0 en caso contrario. Entonces en useState tendrías:

 const [active, setActive] = useState(props.isFilterMode ? null : 0);

Y como Amila sugirió en la otra respuesta, puede usar una devolución de llamada como parámetro para usar Estado y lo que se evalúe y devuelva desde esa devolución de llamada sería su estado inicial usando funciones de flecha, haría algo como:

 const [active, setActive] = useState(() => props.isFilterMode ? null : 0);

o más explícitamente pero con un código más largo:

 const [active, setActive] = useState(() => { if(props.isFilterMode){ return null;} else { return 0;} } );
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