inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

프로필 사진을 변경 후 뒤로가기 시, 서버 이미지 이슈

해결된 질문

239

강프로그래머

작성한 질문수 110

1

안녕하세요 강사님

앱을 종료했다가 접속하면 정상적으로 보입니다.

그런데 이미지, 닉네임을 설정하고 뒤로가기하면 아래와 같이 오류가 발생합니다..😭

그런데 또 왔다갔다 하다보면 다시 또 프로필이 보입니다..🥲

https://github.com/KMSKang/react.git


image.png

 

화면 기록 2024-11-03 오후 1.46.54.gif
image.png

 

react-native typescript nestjs react-query zustand

답변 3

1

최수렬

server > src > auth > auth.service.ts 파일에서async editProfile(editProfileDto: EditProfileDto, user: User) {

이부분 검색하시고 함수 제일 아래 블록에

 const { password, hashedRefreshToken, ...rest } = profile;      return { ...rest };  

입력하세요 서버에서 리턴을 안해줘서 그런겁니다

그리고 CustomDrawerContent.tsx 파일에서

function CustomDrawerContent(props: DrawerContentComponentProps) {
  const {getProfileQuery} = useAuth();
  const {isError, isPending, data} = getProfileQuery;
  const {email, nickname, imageUri, kakaoImageUri} = data || {};
  const handlePressSetting = () => {
    props.navigation.navigate(mainNavigations.SETTING, {
      screen: settingNavigations.SETTING_HOME,
    });
  };
  if (isError || isPending) {
    return <ActivityIndicator />;
  }
  return (
    <SafeAreaView style={styles.container}>

이렇게 변경해주세요 isError || isPending 이 부분 있어야합니다

2

Kyo

수렬님 감사합니다. 서버에 리턴값이 누락되어있었네요! 위와같이 서버코드를 수정해주시거나, 프로필수정후에 getProfile쿼리가 호출되도록 프론트 코드를 수정해주세요 (setQueryData -> invalideQueries(['auth', 'getProfile']) )

0

강프로그래머

수렬님 감사합니다!ㅠㅠㅠ말씀해주신대로 수정하니 정상적으로 처리되네요ㅠ

감사합니다!!

1

강프로그래머

오!! 강사님 말씀하신대로 수정하였습니다. 감사합니다!!

다른분들 코드 참고하세요~~!

 

useAuth.ts

function useUpdateProfile(mutationOptions?: UseMutationCustomOptions) {
    return useMutation({
        mutationFn: editProfile,
        onSuccess: newProfile => {
            queryClient.setQueryData(
                [queryKeys.AUTH, queryKeys.GET_PROFILE],
                newProfile,
            );
            queryClient.invalidateQueries({ queryKey: ['auth', 'getProfile'] });
        },
        ...mutationOptions,
    });
}

0

Kyo

저부분은 무시하셔도 됩니다. 백엔드쪽 로그를 보는게아니라 프로필수정을 했을때 프론트에서 디버깅을 해보시면 좋을것같습니다.

0

강프로그래머

답변 감사합니다 강사님!

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.

강프로그래머님께서 겪고 계신 문제는 서버에서 특정 파일을 찾을 수 없어 발생하는 것으로 보입니다. 주로 /uploads/index.html 파일이 없다는 에러인데, 이는 아마도 불필요한 파일 요청을 처리하지 못해서 발생하는 경우가 많습니다.

이 문제에 대한 해결책으로 자주 언급된 것은 해당 경로의 파일 요청을 무시하도록 서버 설정을 조정하거나, 해당 파일이 필요한 경우에는 올바른 경로에 파일을 생성하는 것입니다. 다만, 대부분의 경우 이러한 ENOENT 에러는 앱의 동작에는 큰 영향을 주지 않는다고 합니다.

유사한 문제에 대한 참고 링크

  1. ENOENT: no such file or directory, stat ‘/uploads/index.html’ 에러 관련

    • 이 게시물에서는 비슷한 ENOENT 오류가 발생했을 때 어떻게 해결됐는지를 참고할 수 있습니다.
  2. 로그인 구현 에러 (nest 에러?)

    • 이 게시물에서도 관련 문제가 언급되고 있으며, 서버에서 불필요한 경로 요청이 없도록 처리하는 팁을 얻을 수 있습니다.

위 답변들이 질문하신 문제를 해결하는 데 도움이 되기를 바랍니다. 이는 서버 설정 변경이나 실제 필요한 파일의 요청 여부를 확인하는 데 실마리를 제공할 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

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

82

1

강의 수강 순서 관련

0

70

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