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

173
Vistas
¿Hay alguna forma de ejecutar una declaración if sobre si los accesorios han cambiado o no en React?

Actualmente tengo un componente que contiene una matriz de publicaciones, este componente toma un accesorio llamado sortBy que le dice al componente que obtenga datos ordenados por popular o new . La forma en que se configura mi componente es al inicializar, las publicaciones se recuperan y luego se almacenan en redux, solo recibo nuevas publicaciones si mis publicaciones están vacías. De esa manera no estoy buscando constantemente nuevos datos.

 const posts = useSelector((state) => state.posts.posts); useEffect(() => { const { sortby } = props; // here I would like to check if props has changed if (Object.keys(posts).length === 0) { dispatch(getPostsAsync(sortby)).then((response) => { setLoading(false); }); } }, [dispatch, props, posts]);

Ahora me gustaría verificar si los accesorios sortBy han cambiado de valor. Entonces, originalmente podría ser sortby='-numLikes' pero cuando ordeno 'new', debería ser sortby='-createdAt' después de que cambie, me gustaría decirle a Redux que obtenga nuevos datos.

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

0

Todo lo que necesita hacer para obtener el comportamiento que desea es cambiar useEffect a:

 const posts = useSelector((state) => state.posts.posts); const { sortby } = props; useEffect(() => { dispatch(getPostsAsync(sortby)).then((response) => { setLoading(false); }); }, [dispatch, sortby]);

Luego, useEffect se ejecutará cada vez que se cambie sortby.

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