다음에는 SignInScreenonSubmit 함수를 수정해주세요. 회원가입 또는 로그인이 성공했을 때 user.uid를 아까 만든 getUser 함수의 파라미터에 넣어 호출합니다. 그래서 사용자가 존재하는지 확인하고, 존재하지 않는다면 Welcome 화면을 띄우겠습니다. 이때 uid 라우트 파라미터도 설정해주세요.

    screens/SignInScreen.js - onSubmit

    import {getUser} from '../lib/users';
    
    (...)
    
    const onSubmit = async () => {
      Keyboard.dismiss();
    
      const {email, password, confirmPassword} = form;
    
      if (isSignUp && password !== confirmPassword) {
        Alert.alert('실패', '비밀번호가 일치하지 않습니다.');
        console.log({password, confirmPassword});
      return;
      }
    
      setLoading(true);
      const info = {email, password};
    
      try {
      const {user} = isSignUp ? await signUp(info) : await signIn(info);
        const profile = await getUser(user.uid);
        if (!profile) {
          navigation.navigate('Welcome', {uid: user.uid});
        } else {
          // 구현 예정
        }
      } catch (e) {
    
        const messages = {
          'auth/email-already-in-use': '이미 가입된 이메일입니다.',
          'auth/wrong-password': '잘못된 비밀번호입니다.',
          'auth/user-not-found': '존재하지 않는 계정입니다.',
          'auth/invalid-email': '유효하지 않은 이메일 주소입니다.',
        };
        const msg = messages[e.code] || ${isSignUp ? '가입' : '로그인'} ;
        Alert.alert('실패', msg);
      } finally {
        setLoading(false);
      }
    };
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.