• 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    미해결

채팅대화에서 시간이 중복될경우 안보이게 하는방법 문의.

23.02.27 23:31 작성 조회수 314

0

안녕하세요. 복습중에 새로운 기능을 넣으려고 하는데 생각보다 잘 안되네요.

 

카카오톡 메신저처럼. 동일한 시간에 보낸 카톡시간을 안보이게 하려고합니다.

서버에서 가져온 현재시간값과 이전 대화시간값(chat.createdAt) 을 비교하면 될것같은데

useState 를 이용할때는 무한로딩으로 막혓고

(setState 로 현재값 저장)

 

useRef 를 사용해서 값을 저장하여 비교하고 싶은데.

항상 현재시간값만 이용하게 되네요.

어떻게 접근하는것이 좋을까요.

답변 1

답변을 작성해보세요.

0

화면 렌더링단(jsx)에서 충분히 처리 가능할 것 같습니다. 반복하면서 이전 채팅의 시간도 prop으로 넣고 그것과 비교하시면 될것같은데요.

아 넵. 어제 5시간이나 고생했는데 알고보니 jsx 코드 순서를 잘못하여 이전값을 저장하지못하고 항상 최신값만 이용했었네요.^^a. 그런데 만들어놓고보니. 생각했던것과 출력결과가 다르네요. ㅎ 마지막(최신)입력한대화에 시간이 안찍히게되네요. 이전대화와 같은시간이니까요.

아, 그러면 반대로 다음 채팅의 시간을 prop으로 저장해서 비교해서 같으면 렌더링하지 않도록 쓰시면 될 것 같습니다.