inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

배달앱 클론코딩 [with React Native]

react-native-config 문제 해결하기

회원가입 로직 질문입니다~!

204

SJ Kim

작성한 질문수 10

0

강사님~ SignUp.tsx에서 로직부분에 질문이 있습니다.

 try {
      setLoading(true);
      const response = await axios.post(
        `${Config.API_URL}/user`, 
        { email, name, password } 
      );
      Alert.alert('알림', '회원가입이 완료되었습니다.');
      navigation.navigate('SignIn');
    } catch (error) {
      const errorResponse = (error as AxiosError).response; 
      if (errorResponse) {
        Alert.alert('알림', errorResponse.data.message); 
      }
    } finally {
      setLoading(false);
    }
  }, [navigation, loading, email, name, password]);

 

위 코드를 실행했더니 회원가입이 될때

이런 경고가 나왔습니다. 언마운트된 컴포넌트(SignUP)의 state를 바꿀 수 없다는 얘기인데, 애뮬레이터에서 경고창 눌러보니 finally { setLoading(false); } 이 부분이 문제더라구요.

그래서 finally는 비워두고 catch절에만 setLoading(false); 을 두고 실행했더니 잘 작동합니다.

 

질문 두가지입니다.

1. 회원가입이 완료되면 화면이 바뀌니 제가 한대로 catch절에만(실패했을때) setLoading(false);를 넣는게 맞는 방법일까요?

2. 1번대로 하든 기존의 로직대로 하든, 회원가입이 완료되면 loading state는 true로 남아있는거라고 보면 될까요?(1번대로 하면 loading을 바꾸지 않고 화면이동, 기존의 로직대로 하면 경고 발생)

Stack Navigator을 쓰면 '회원가입'과 '로그인' 화면을 쌓아두고 호출하는 것을 위로 보여주는 것으로 알고 있습니다. 강사님께서 컴포넌트의 state는 유지될 수도 있고 안될수도 있다고 하셨는데 이것과 관련하여 2번이 조금 헷갈립니다..!

 

도움 부탁드립니다..!

react-native

답변 1

1

제로초(조현영)

1. 네 그게 더 낫겠네요.

2. 회원가입 화면은 어차피 언마운트돼서 사라져서 스테이트들도 전부 사라집니다. 내비게이터마다 동작이 다르긴한데 스택 내비게이터는 navigate가 기존거 없애고 전환이고 push가 기존 거 위에 쌓는 것일 겁니다.

0

SJ Kim

네 그렇군요. 감사합니다:)

앱실행시 네이버맵 [401] 에러

0

1044

2

스타일링 라이브러리

0

159

2

expo, cli 선택 중에 고민이 있습니다.

0

175

2

JDK 버전이 달라도 괜찮나요?

0

236

2

dimenstion usewindowdeminstion

0

129

3

[맥 전용]환경 설정하기 1편 & [맥 전용]환경 설정하기 2편의 영상이 안나옵니다.

0

215

1

jdk11 버전과 gradle 버전의 호환성 관련 질문드립니다.

0

407

2

강의 외 질문입니다!

0

163

2

react native랑 맞는 ui 라이브러리 어떤게 좋을까요?

0

1534

2

react native와 spring boot 연결

0

362

1

java가 아닌 .kt에서 code push 에러가 발생합니다.

0

219

2

flipper 239 에러가 발생합니다.

0

169

2

package.json에 /lib/panino.js 문제입니다.

0

476

2

window - mac 협업 과정 질문합니다

0

221

1

ios 빌드 중 RCTBridgeDelegate.h import 오류

0

293

2

ios 앱 빌드 중 hermesEnabled 관련 오류발생

0

246

2

Socket 연결시 질문 드립니다.!

0

155

2

wifi 환경에서 axios 통신이 로컬서버에서 안됩니다.

0

429

2

iOS render error 질문드립니다.

0

416

2

iOS 가상머신 오류

0

170

2

npc react init 명령어 실행시 발생되는 오류

0

223

1

nom start 시 오류

0

119

1

NextJS 기반으로 만들어서 웹뷰 React Native로 배포 가능한가요?

0

1013

2

안드로이드 rn75 버전에 맞게 설정 중에 android13 다운로드에 대해서 막혔습니다!

0

187

2