Validação condicional com base no ultimo objeto de um array

1 resposta
react-native
J

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

1 Resposta

R

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  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>
Criado 11 de fevereiro de 2022
Ultima resposta 11 de fev. de 2022
Respostas 1
Participantes 2