Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

107
Visualizações
¿Por qué reaccionar sin mostrar el estado actualizado?

Tengo una función comunitaria en mi aplicación en la que los usuarios pueden publicar sus comentarios. Quiero alternar el estado de visibilidad de un comentario cuando se hace clic en un icono en particular. Icono:

 <i className="fa-solid fa-message" onClick={(e)=>handleComment(e)}></i> {!props.post.isCommentVisible && <> <Container maxW="md" centerContent p={8}> {props.post.comment.map((comm) => ( <Text>{comm}</Text> ))}

La función para alternar la visibilidad de un comentario es:

 function handleComment(e) { const id=props.post.id; posts.map((post)=>{ if(post.id==id) { if(post.isCommentVisible=="false") { post.isCommentVisible="true"; } else { post.isCommentVisible="false"; } db.collection("posts").doc(id).set(post); } }) }

Curiosamente, el estado de visibilidad del comentario se actualiza, pero la reacción no vuelve a mostrar el estado modificado.

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Ya sea que props.post.isCommentVisible sea "true" o "false" , la expresión !props.post.isCommentVisible siempre será false porque "anyString" siempre es verdadero.

about 4 years ago · Juan Pablo Isaza Relatório

0

Suponiendo que en algún lugar definiste:

 const [posts, setPosts] = useState([]);

Y luego actualizó las posts pobladas a través de alguna operación de búsqueda, debe llamar a setPosts como:

 setPosts( posts.map((x) => ({ ...x, isCommentVisible: x.id === post.id ? !x.isCommentVisible : x.isCommentVisible, })) );

(use cualquier método que desee para lograr el resultado, tenga en cuenta el comentario de Rocky Sims)

Esto hará que se vuelva a renderizar.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda