인프런 커뮤니티 질문&답변

마페이지님의 프로필 이미지
마페이지

작성한 질문수

Slack 클론 코딩[실시간 채팅 with React]

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

작성

·

444

0

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

 

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

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

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

(setState 로 현재값 저장)

 

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

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

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

답변 1

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

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

마페이지님의 프로필 이미지
마페이지
질문자

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

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

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

마페이지님의 프로필 이미지
마페이지

작성한 질문수

질문하기