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

121
Vistas
¿Cómo hacer la implementación del botón Me gusta?

Estoy usando el almacenamiento local para almacenar la identificación del usuario y luego enviarlo al estado, luego usarlo para ocultar el botón Me gusta después de hacer clic en él, pero después de hacer clic en el botón Me gusta, no desaparece y al usuario le puede seguir gustando la publicación (muchas veces).

Código de inicio de sesión: aquí almaceno al usuario en localstorage y lo envío.

 localStorage.setItem("user",JSON.stringify(data.user)) dispatch({type:"USER",payload:data.user}) history.push('/c')

código de usuarioReductor:

 export const initialState = null export const reducer = (state,action)=>{ if(action.type==="USER"){ return action.payload } return state }

Como funcionalidad:

 const likePost = (id)=>{ fetch('/post/like',{ method:"put", headers:{ Accept:"application/json", "Content-Type":"application/json", }, body:JSON.stringify({ postId:id }) }).then(res=>res.json()) .then(result=>{ //console.log(result) const newData = data.map(post=>{ if(post._id===result._id){ return result }else{ return post } }) setdata(newData) }).catch(err=>{ console.log(err) }) }

código de interfaz:

 {posts.likes.includes(state._id) ?<AiTwotoneDislike size="2em" onClick={()=>{unlikePost(posts._id)}}/> :<AiFillLike size="2em" onClick={()=>{likePost(posts._id)}}/> }

El problema principal está solo en este código anterior, toma state._id, pero solo muestra el botón Me gusta después de hacer clic también. He comprobado el estado, contiene _id.

about 4 years ago · Juan Pablo Isaza
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