[TIL] 로그인 시 헤더에 이름이 바로 안 나오는 현상 해결

공지애·2022년 4월 19일
0

처음에 만들었던 구조는 로그인 페이지에서 로그인을 하면 메인 페이지로 이동하고, 메인 페이지에서 유저 정보를 불러오는 함수를 실행해서 이름값을 가져와서 헤더에 가져오는 식으로 했었다. 그런데 이때 새로고침을 하지 않으면 리렌더링이 이루어지지 않아 처음에 렌더링 할 때의 값이 없었던 상태로 보여지기 때문에 이름값을 바로 받을 수 없었다.


이 문제를 해결하기 위해서 로그인 함수가 이루어질 때 사실상 의미가 없는 setUser 리듀서를 디스패치 하지 않고, 로그인 함수 실행 시 getUserDB를 디스패치를 바로 해주고 getUserDB에서 setUser를 실행해서 받아온 데이터를 리덕스에 저장하고 불러올 수 있게 하니 렌더링이 바로 이루어지면서 새로고침 하지 않아도 이름값을 잘 받아올 수 있었다.
사실 API 설계 단계에서 이름값을 사용할 것을 고려해 로그인 시 token과 함께 userName도 넘겨줄 수 있도록 해서 받아온 response값을 바로 인자로 넘겨서 getUserDB를 실행하지 않고도 이름값을 받아올 수 있을 거로 생각해서 그 부분을 나중에 수정해서 해봐야겠다. 불필요한 함수 실행이나 코드를 줄일 수 있는 방법을 많이 생각해봐야겠다.

0개의 댓글