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

민수님의 프로필 이미지
민수

작성한 질문수

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

다이나믹 라우팅

http://localhost:3060/post/1에서 에러가 발생했습니다..ㅠ

작성

·

258

0

바쁘실텐데 질문드려서 죄송합니다. 영상을 보고 따라하며 공부하고 있는데 localhost:3060/post/1에서 에러가 발생했습니다.

그전까지 잘 따라했다고 생각했는데 이유를 잘 모르겠네요.... 원인을 알려주시면 진심으로 감사드립니다.....ㅠ

답변 2

0

에러가 안뜨게 하고싶은데요,,

if (!post) return <Redirect to="/" />;

이 부분을 return 문 위에 넣으라고 하시는건가요..?

코드 그대로 넣으면.. 오류가떠서 제가 잘못넣은거같아서여쭤봅니다 ㅠ

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

네 맞습니다. 어떤 에러가 뜨시나요?

게시글을 삭제하여서 DB에 없는 id의 게시글들이 보일경우입니다..

질문 작성자님처럼 있는 id게시물은 정상적으로 작동합니다..

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

게시글을 삭제했으면 프론트에 불러와질수가없는데 무슨 말씀이신지 이해가 안 됩니다.

프론트에 불러와지는거 말고 URL에 직접 입력했을 경우입니다..

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

네, 그러니까 저걸 리턴문 위에 넣으신 게 맞나요? 혹시 더 위에 post.Likers가 있는 것 아닌가요? 그것보다 더 위에 넣어야 에러가 발생하지 않습니다.

생각해보세요. 이것도 자바스크립트입니다.

아 ~ 강사님 답변처럼 post.Likers 위에 넣고, 다이나믹 라우팅 페이지에서 Head 부분의 content를 전부 조건문으로 바꾸었더니 잘 됩니다! 감사합니다.

0

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

post가 null인 상황인데요. 서버쪽에서 post가 제대로 안 불러와지고 있는 것 같습니다. 서버쪽에서 제대로 불러온 것이면 null이 불러와진 것인데 이 경우에는 DB에 포스트가 저장되지 않았을 수도 있습니다. DB에 1번 포스트가 저장된 것이 맞나요?

민수님의 프로필 이미지
민수
질문자

아 1~6번 포스트를 삭제해서 7~8번이 있는데 7~8번은 정상적으로 작동되네요. 

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

네 삭제한 포스트로는 들어갈 수 없습니다. 다만 에러가 안 뜨게 하려면

if (!post) return <Redirect to="/" />;

기존 return 위에 이런 것을 넣어주면 됩니다.

민수님의 프로필 이미지
민수

작성한 질문수

질문하기