TIL66-01 put과 get이 동시에 되면 안됨

김태혁·2023년 3월 25일
0

TIL

목록 보기
155/205

실전프로젝트 get데이터 문제

  • 프로필 수정하는 과정 중 문제가 발생했다. put으로 변경 사항은 잘 들어갔고, DB에도 문제 없이 변경이 됐는데 get 해오는 값이 변경이 되지 않고 들다.
  • 새로고침 해야 수정값으로 반영이 되었습니다.

해결을 위한 시도

  1. 의존성 배열의 문제인가 싶어 get함수 자체를 넣어보았는데 데이터는 정상적으로 들어왔으나 무한렌더링이 발생하여 이 방법은 아닌 것 같아 다른 방법을 고민해 봤따.
  2. 의존성 배열에 변화는 값을 주기 위해 수정 완료 버튼을 누를 때 true/false값을 바꿔주어 넣어주었으나, 역시나 데이터를 정상적으로 get해오지 못하고 이전값으로 받아왔다.
  3. useEffet에 get함수 위 아래로 콘솔을 찍었을 때 정상적으로 찍혔다. 이러면 get함수는 정상 작동하는데 값이 제대로 반영이 되지 않아 들어와 어떤 문제인가 도통 답을 찾을 수 없었다.
    • put으로 프로필 변경값 통신 시 데이터가 정상적으로 DB에 반영 되는지 백엔드와 확인 결과 DB에는 실시간으로 반영이 잘 됐다.
  4. 일단 put 하고, response 값을 받아와 그 값과 get한 값 둘 다 이용하는 것으로 조치를 취했다.

멘토링으로 얻은 힌트로 해결

  • 멘토링 시간에 이에 대한 문제를 멘토님께 공유했다. 멘토님께서는 put과 동시에 get이 이루어져 put이 완료되지 않은 상태에서 get을 해와서 계속 이전 데이터가 들어오는 것 같다고 힌트를 주셨다.
  • 이 힌트를 활용하였고, put이 완료되면 리스폰스 데이터를 받아오기 때문에 이 데이터를 의존성 배열에 집어 넣었다.
  • 그러니 정상적으로 변화된 get 데이터를 받아왔다.
profile
도전을 즐기는 자

0개의 댓글