느릿늘있

[react query] 응답 status는 success인데 data가 undefined인 경우 본문

삽질로그

[react query] 응답 status는 success인데 data가 undefined인 경우

JHKim93 2023. 3. 28. 22:28

1. 현상

  useQuery 요청 후 서버에서 api 응답 status는 success인데 data가 undefined인 상황

  브라우저 네트워크 로그 확인 후 해당 url로 접근하면 JSON 데이터를 확인할 수 있음(데이터는 정상적으로 받아 옴)

2. 원인

  api 요청에 return 값이 없음

export const apiGet = (req) => {
	axios({
		method: 'get',
		url: '/api/aaa/aaa/aaa',
		params: {
			a : ...,
			b : ...,
		}
	})
  }

  습관적으로 화살표 함수를 만들면서 중괄호를 쳐버렸다. 화살표 함수는 중괄호를 쓰지 않으면 return을 생략할 수 있다.

  () => axios; (O)

  그래서 axios문을 쓸 때 보통 중괄호와 return을 생략하고 써왔는데 습관적으로 중괄호를 쓰는 바람에 응답이 제대로 왔음에도 데이터를 가져오지 못한 것이다.

() => { axios }; (X)

3. 해결

export const apiGet = (req) => 
	axios({
		method: 'get',
		url: '/api/aaa/aaa/aaa',
		params: {
			a : ...,
			b : ...,
		}
	})