Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

165
Views
¿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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!