강의

멘토링

로드맵

Inflearn brand logo image

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

CJW님의 프로필 이미지
CJW

작성한 질문수

[리뉴얼] React로 NodeBird SNS 만들기

게시글 수정하기

retweet 취소하기

작성

·

240

0

배포단계와 보너스 강좌를 보면서

댓글 리트윗 , 좋아요 , 삭제 , 수정 및 리트윗한 게시글 다시 리트윗버튼을 클릭했을 때 해당 게시글을 지우려고 기능을 추가하려고 하고 있습니다

그래서 구조를 해당 리트윗 게시글을 me.Posts 안에서 리트윗한 아이디와 해당 게시글의 post.id가 일치하는 게시글을 삭제하려고하는데

code.png

code.png

 

해당 구조로 짜게 되면 맨처음 페이지가 로딩되고 나서 데이터를 받아오는 Post를 인식해서 그런지
리트윗 되어있던걸 삭제하는건 가능한데 삭제 후 다시 리트윗 하고 삭제하려면 id가 그 처음 리트윗되어있던 id를 찾습니다.

리트윗 삭제.PNG

(기존 리트윗 되어있던 post.id)

 

두번째 리트윗 삭제.PNG

(리트윗 삭제 후 다시 리트윗 하고 나서 리트윗 버튼 클릭시 나오는 post.id)

 

리트윗 제거하고 다시 리트윗 하면 DB와 me.Posts 와 mainPosts 안에 데이터가 새롭게 추가되는건 확인이 되는데 왜 초기 데이터값만을 읽는건지 모르겠습니다.

 

항상 늦은 시간에도 답변해주셔서 감사합니다.(그리고 워낙 질문이 많아서 죄송해요)

 

답변 1

0

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

useCallback에서 [] 안에 me랑 post 같은 걸 추가해주셔야 업데이트되겠죠?

CJW님의 프로필 이미지
CJW
질문자

아 제일 기초적인걸 안써고 다른 우물 파고 있었네요... 감사합니다 ㅠ useCallback 자체가 함수자체를 캐싱해서 해놓는거라 업데이트가 안되는 이유를 제일 먼저 확인하고 봤어야했는데..

CJW님의 프로필 이미지
CJW

작성한 질문수

질문하기