Bom estou montando um chat dentro de uma aplicação e quero fazer assim vamos supor que um usuario mande duas mensagens porem a segunda por ele ja ter mandado nao quero exibir o nome dele e so a mensagem com a hora q ele mandou.
to mandando a imagem do projeto atual mostrando como ta
falai, blz?
Fiz um teste aqui no ReactJS bem simples (pra usar no seu é só trocar a ul
e li
pra os seus components, segue:
Minha função de enviar mensagem:
function sendMessage() {
const lastIndex = chatList.length - 1;
const lastMessage = chatList[lastIndex];
let showName = true;
if (lastMessage != null && lastMessage.name === name) {
//essa variavel name aí da condição, seria a variavel
//do usuario que ta mandando msg. Tipo: (... === currentUser.name)
showName = false;
}
setChatList([...chatList, { name, message, showName }]);
}
Componente:
<ul>
{
chatList.map((chat, index) => (
<li key={index}>
{
chat.showName &&
<span>{chat.name}</span>
}
<span>{chat.message}</span>
</li>
))
}
</ul>