inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

React로 NodeBird SNS 만들기

댓글 삭제 화면 반영 문제

434

jinne

작성한 질문수 17

0

https://www.inflearn.com/questions/33101

댓글 삭제가 db에서는 반영이 되는데, 화면에는 반영이 바로 되지 않는 문제로 ㅠㅠ 질문 드립니다.

<코드>

<router>

여기서 궁금한 점이 하나 있는데, like와 unlike를 보면 addLiker, removeLiker로 삭제해주고 있는데 comment delete부분에 removeLiker을 넣으려면 post id를 찾은 후 removeComment를 넣어줘야 하는건지 그거에 대해 계속 시도중입니다 ㅠㅡㅠ

<saga>

data에 postId를 넣어 전달해줘야하나해서 넣은 부분이구요

<reducer>

reducer 부분입니다 ㅠㅠ

db에서는 삭제가 되는데, redux에서는 failure로 불러오고 있습니다. 아마 destroy로 삭제가 되는데 화면 반영은 안 되는 것 같습니다 router 부분이 어려워서 ㅠㅠ...! post id를 comment에 기반해서 where이나 include로 불러와줘야 하는것인지 ㅠㅠ... 아니면 다른 코드들에 오류가 있는건지 ㅠㅠ...! 부탁드립니다 

javascript react

답변 9

0

제로초(조현영)

아 이해했습니다. 그러면 request 액션에 post Id를 넣으시고, saga, axios통해서 요청 보내신 후에 success액션에서 request액션으로부터 postId 그대로 가져와서 하시면 됩니다.

function* watchLoad(action) {

dispatch({ type: LOAD_SUCCESS, postId: action.data.postId }) // 이런 식으로  action에 들어있는 거 그대로 쓰세요.
}

0

jinne

db에서 말고요! ㅠㅠ reducer에서 post id를 찾아서 화면에서 지워줘야한다고 생각했어요 ㅠㅠ db에서는 commentId로 잘 지워지고 있는데 화면에 반영이 안 되고 있어서요 ㅠㅠ 

0

제로초(조현영)

commentId만으로도 db에서 댓글을 지울 수 있는데 postId는 필요하지 않습니다.

0

jinne

commentId의 postId를 찾아서 거기서 댓글을 지워줘야한다고 생각했습니다 그래서 postId를 찾아야한다고 생각했어요! 

0

제로초(조현영)

저는 postId를 왜 찾으시는지를 이해를 못하겠습니다. 그리고 댓글이 있으면 거기에 PostId도 같이 나와있을텐데요? 댓글 객체에요

0

jinne

네 거기 들어가는게 commentd인건 알고 있어요 ㅠㅠ 그 commentId의 postId를 찾아주는 것에서 헤메고 있는 것입니다 ㅠㅠ!!! 

0

제로초(조현영)

onRemoveComment(item.id)에 넣으신 건 postId가 아니라 commentId입니다.

0

jinne

제 생각에는 postId를 지금 못 찾고 있는 것 같은데, 그걸 postCard에서 찾아서 넣어줘야 할까요? postCard에서는 data : {commentId, postId : post.id } 이렇게 넣으면 아예 오류가 뜨고, saga의 result.data.postId에서도 인식이 되지 않습니다. 그 전 코드들을 다 찾아보는데, SAGA에서 postId : result.data.postId 로 넣어준 것들은 대부분 front단에서 data : {postId : post.id} 이런 식으로 post의 id를 찾아주고 있더라구요 ㅠㅠ 근데 고차함수에서는 그렇게 넣으면 오류가 뜨는 것 같아요 

0

제로초(조현영)

기본적으로 redux에서 failure라면 서버쪽만 점검해보시면 됩니다. 댓글을 삭제할 때 commentId로만 삭제하시면 되고요. 다만 REMOVE_COMMENT_SUCCESS에서는 commentId뿐만 아니라 postId까지 같이 보내줘서 해당 post를 찾아서 그 포스트에서 다시 댓글을 찾아서 제거하면 됩니다. post.Comments.filter((v) => v.id !== action.data.commentId) 아닌가요?

next 10 이상에서는 redux dev tool 구동이 안되나요?

0

272

1

세션 갱신 문의 건

0

482

7

배포 진행 후 Highlight updates components render 표시

0

445

1

똑같은 기능을 하는 테이블

0

447

4

관계형

0

312

2

프론트 서버를 이용하지 않는경우

1

299

3

인피니트 스크롤링 사용시 오류

0

278

0

계속 이런에러가 떠서 해결하기는 했는데 어떤 의미인지 모르겠습니다.

0

433

2

req.user가 언제 생성되나요??

0

330

2

Cannot read property 'id' of null 에러

0

333

1

리트윗한 게시글 불러오는 sequelize

0

252

1

result.data에서 images인 이유

0

281

2

takeLatest에 대한 질문입니다.

1

342

2

프론트에서 express를 사용하지 않을때 동적라우팅

0

501

6

getInitialProps가 클라이언트에서 수행되는 이유?

0

258

1

리로드하면 팔로우 언팔로우 값이 초기화 되는 문제입니다.

0

445

2

스타일드 컴포넌트와 className을 통한 스타일 적용의 차이에 대해 궁금합니다

0

585

2

할인 쿠폰 사용이 안되는되요 (848-f9af83f183e3)

0

365

1

nodejs mvc 패턴

0

975

4

사용하고 보니, 람다 구성이 궁금합니다!

0

266

1

제로초님

0

445

1

새로고침 로그인 풀림 문제.

0

247

1

안녕하세요. 강의 너무 감사합니다

0

157

1

제로초님

0

170

1