inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[리뉴얼] 맛집 지도앱 만들기 (React Native & NestJS)

AddPostScreen 부분에서 useEffect 의존성 배열 관련해서 질문있습니다!

해결된 질문

283

HyeJung

작성한 질문수 8

1

강의를 보다가 해당 useEffect 의존성 배열 부분에 빈 배열을 넣어야 한다고 생각해서 넣었었는데 이러면 등록 버튼 눌렀을 때 에러가 뜹니다.

그러다가 어쩔 때는 등록이 되기도 하네요 왜 이럴까요? 혹시 오타나 제가 잘못 작성한 부분이 있는걸까요?

등록 눌러도 응답이 없길래 onError이용해서 찍어보니

위 사진과 같이 계속 400 에러가 뜨고 있었어요

 

그래서 의존성 부분에 빈배열 빼고 강의에서 작성해주신 것처럼 아무것도 안넣었더니 정상적으로 작동했습니다!

저와 비슷한 생각으로 의존성 관련 질문 주신분 있어서 답변 보니 빈배열 넣어야 한다고 하셨는데 전 왜 에러가 뜰까요? 스스로 해결해 보려다가 아직 부족한게 많아서 글 작성해봅니다!

 

코드도 같이 첨부합니당

https://github.com/HYEJUNGYANG/Matzip

react-native typescript nestjs react-query zustand

답변 1

1

Kyo

의존성배열을 없앨필요는 없고, 빈 배열이나 handleSubmit을 넣어주시면 될것같아요. 그런데 지금 발생하는 에러는 의존성배열과 관련된 문제가 아닐거예요. HyeJung님의 다른 코드에는 문제는 없어보이고 400번 에러가 발생하는데 잘못된 값을 넣었거나, 필수값이 누락된건 아닐까요? 예를들어 제목을 입력하지않아도 400 에러가 발생합니다!

좀더 정확한 에러메세지를 보려면, error.response.data.message 에 에러메세지가 담기기때문에 아래와 같이 찍어보면 되는데 한번 확인해보시겠어요?

    createPost.mutate(
      {address, ...location, ...body},
      {
        onSuccess: () => navigation.goBack(),
        onError: error => console.log('에러메세지입니다:', error.response?.data.message),
      },
    );

0

HyeJung

handleSubmit 넣으니까 잘 됩니다! 그런데 제목이나 내용 입력할 때마다 useEffect가 계속해서 호출되는 것 같은데 이 부분은 신경 안쓰고 계속 진행해도 괜찮을까요?

0

Kyo

어떤부분때문에 에러가 발생했는지 한번 찍어보세요!

0

HyeJung

빈배열 넣었을 때는 제목, 내용 전부 입력해도 등록버튼만 누르면 제목이 비었다는 에러가 떴었습니다!

0

Kyo

제가 빈배열이나 handleSubmit을 넣으라고 잘못 설명했는데, useEffect가 참조하는 handleSubmit이 업데이트될 수 있도록 넣어주는게 맞겠네요!

강의에서는 의존성배열을 넣지않는데 이부분이 누락된것같네요. 깃헙코드에는 반영이 되어있습니다! 함께 참고해주세요.

1

HyeJung

감사합니다!! 참고해서 진행할게요 감사드려요

react-native-screens 버전 호환 문제

2

153

1

안드로이드 실행 중 Drawer네비게이션과 MapView 성능 문제

0

103

2

해당 강의 부분은 실제 활용하기에 부족해 제가 해결한 방법입니다.

0

96

1

소스코드가 강의 순서랑 다른가요?

0

72

2

현재 Windows에서 VsCode로 작업 중인데 추후에 IOS도 가능하게 하려면

0

115

2

react-native-fast-image는 react 19 버전에서 설치가 안되나요?

0

209

2

SQL Shell의 역할이 무엇인가요?

0

91

1

혹시 해당 강의에서invalidateQueries를 사용한 이유가 있을까요?

0

79

2

빠르게 실행해보고싶습니다.

0

83

1

강의 수강 순서 관련

0

71

1

애뮬레이터 실행 방법

0

99

2

무료 Apple ID로 실기기 테스트 가능한가요?

0

90

2

ios 실기기 연결

0

70

2

npm run ios에러

0

74

1

10월 삭제 예정인 강의는 이유를 알 수 있을까요?

0

101

1

캘린더 개발 후에 navigation 에 대해서 궁금한 점이 있습니다.

0

51

1

안드로이드 위치 권한 이슈 2가지 문의

0

71

1

지도가 보이려면 음.. 작성해주신 스타일과 다르게

0

74

0

제대로 설치한거같은데 안드로이드랑 ios 둘다 앱실행이 안되는것같아요

0

83

3

강의 내용을 보면 전체적으로 function 함수 키워드를 사용하시는데

0

69

2

강의 3-9 에서 useGetRefreshToken 훅 안에 즉시 함수로 처리하는 이유가 궁금합니다!

0

82

2

사내에서 figma.com 업로드 안되나요?

0

96

1

AWS EC2 + RDS 설정

0

85

2

안드로이드 안켜집니다.

0

91

2