오늘의 트러블 슈팅!
사실 instance.interceptors 는 너무 어려워서 내가 구현한 기술이 아니다..
팀원 분께서 구현해 내셨는데, 여기서 계속 오류가 나는 부분이 있었다.
여기서 다음 버튼을 누르면 다른 컴포넌트로 이동을 해야하는데, 자꾸 페이지가 강제적으로 홈으로 이동되는 해프닝이 일어났다.
이동되기 전에 콘솔에 에러도 쫘르륵 찍혔는데, 순식간에 강제 이동처리 돼버려서 오류 확인도 하지 못했다..
이유가 무엇인고.. 하니~
shared.axios 의 instance.interceptors 쪽에서 설정한 값 때문이었다.
내가 지금 구현하고 있는 페이지는 회원가입 창으로, 토큰이 헤더에 없다.
그런데 토큰이 헤더에 없을 경우 402 에러가 나도록 설정했고,
402 에러가 나면 페이지를 강제적으로 "/"로 이동하게끔 팀원분이 짰기 때문에 발생하는 에러였다.
페이지를 강제 이동 처리 해주는 코드를 주석 처리 하니 페이지가 그 자리 그대로 있어서 다른 코드들 및 오류들을 자세히 살펴볼 수 있었다!
input의 값이 공란일 때는 button - disabled true,
input의 값이 전부 채워졌을 때 button - disabled false
input 의 onChange 에 함수가 2개 이상이어서인지, event 값을 이미 다른 함수에게 전해줘서 인지 모르겠지만
if 값에 e.target.current.value 의 target 값을 못 가져오는 오류가 나와서
ref.current.value 값으로 대체해서 가져왔다 !
다른 컴포넌트의 값을 불러서 버튼에 적용시켜야 하는 작업을 해야했다.(회원가입)
props 사용은 너무 번잡하고 어려우므로 저번에 사용했던 Recoil 에 한번 더 도전해보기로 했다 !
한 번 해봤다고 조금 더 수월했다..!!!
key, default 값을 줘서 atom 함수들을 설정한다.
프로필 사진을 선택하게 되면,
회원가입시 선택한 이미지를 보내야 한다. (마이페이지에서 확인 가능할 수 있게)
백엔드 분들로부터 요청한 img url 란이다.
브라우저에 "이미지 호스팅 사이트" 라고 치면 많은 사이트들이 나온다.
그 중 아무 곳에 들어가서 이미지를 업로드 하면 된다.
이미지를 업로드하면 이렇게 링크를 주는데,
그 중 '직접 링크' 에 들어가서 url 을 복사한다.
profile1 을 profileZero 로 선언한 이유는,
그냥 배열의 첫 index 가 0으로 시작하기 때문에 편하게 하려고 붙인 이름이다.
회원가입 때 선택한 사진이 제대로 잘 전송돼서,
마이페이지에서 사진을 잘 읽어오는 모습을 볼 수 있다.