강의

멘토링

로드맵

Inflearn brand logo image

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

웹개발자님의 프로필 이미지
웹개발자

작성한 질문수

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

뒤로가기시

작성

·

659

0

제로초님 안녕하세요!

nextjs에서 뒤로가기로 페이지 이동시 에러가 나타나서 질문드려요...

제가 만든 메뉴바로 페이지를  /  , /post, /email 등.. 이동하면 아무 문제가 없는데 뒤로가기 시

아래와 같은 종류의 에러가 납니다... null이라고.. 근데 또 브라우저 개발자도구로 리덕스 상태를 보면 채워져있습니다..

답변 7

0

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

네 데이터가 없거나 데이터가 오래된 것 같을 때만 useEffect 내에서 처리하도록 하실 수 있습니다.

0

웹개발자님의 프로필 이미지
웹개발자
질문자

그렇군요... 

 단 이벤트리스너로 주소 바뀌는 거 감지해서 다시 불러올 수는 있습니다. -로초님-

주소가 바뀔 때마다 이벤트리스너를 다는 방법이 있다고 하셨는데 그러면 뒤로가기 뿐만 아니라 모든 주소가 바뀔때마다 리스너가 실행되서  useSelector로 가져온데이터가 없을 때만 다시 dispatch로 요청을 보내면 좀 더 효율적일까요??

0

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

서버로부터 새 데이터를 넣은 새 화면을 가져온게 아니라 기존 캐시에 저장되어 있던 화면을 가져온 것 같습니다. 이게 브라우저 기본 동작이라서 마운트 시 데이터를 다시 가져오는 동작(useEffect)을 하셔야 할 수도 있습니다.

0

웹개발자님의 프로필 이미지
웹개발자
질문자

답변 감사합니다! 그런데 getServerSideProps 함수가 뒤로가기시에도 콜솔을 찍어보니까 찍혀서 그러면 getServerSideProps 함수 안에 있는 dispatch도 작동되서 로드가 되는줄 알았습니다... 왜 뒤로가기시에도 getServerSideProps 가 실행되는데 데이터는 그대로인지 잘 이해가 안갑니다..

0

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

뒤로가기시에는 원래 데이터 업데이트가 안 됩니다. 브라우저에서 저장된 거 그대로 쓰니까요. 단 이벤트리스너로 주소 바뀌는 거 감지해서 다시 불러올 수는 있습니다.

0

웹개발자님의 프로필 이미지
웹개발자
질문자

답변감사합니다 그런데 뒤로가기시에 redux 데이터가 업데이트가 안되고 그대로인 경우가 있어서 이런경우는 어떻게 하나요??ㅜㅜ 그리고 다시 새로고침하면 정상작동합니다..

0

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

잠깐 데이터가 비워져있는 기간이 있을 수 있습니다.

a.shop_name 대신 a?.shop_name을 사용하세요.

웹개발자님의 프로필 이미지
웹개발자

작성한 질문수

질문하기