티스토리 뷰
안녕하세요 강정호입니다.
오늘은 인스타그램클론코딩을 하면서 경험한 삽질을 정리해서 올려보려고 합니다.
[문제 상황]
Confirm.js 시크릿 코드로 인증을 하여 토큰을 받는 화면에서 인증을 정상적으로 완료 했음에도 불구하고 Home 화면으로 이동하지 못하고 Confirm 화면에만 계속 머물게 되는 오류가 있었습니다.
서버에서 출력해보니 토큰은 정상적으로 발급이 되었고, Confirm은 성공적으로 실행되었습니다.
[원인]
강제로 isLoggedIn 변수를 false로 세팅을 해주고 있었다. 그렇다보니 AuthNavigation을 계속해서 호출하게 되었던 것이다.
[프로그램 흐름]
1. Confirm.js 에서 시크릿 코드를 입력하고 Confirm 버튼 클릭. 입력한 시크릿코드와 해당 유저에게 발급된 시크릿코드가 일치하는지 gql로 서버에 confirmSecret 함수를 호출하여 token을 리턴 받음.
2. AuthContext.js 에서 토큰을 AsyncStorage에 저장 후, IsLoggedIn변수를 true로 변경. 그리고 AuthContext.Provider로 IsLoggedIn 변수가 true로 변한 것을 모든 컴포넌트에 전달.
3. App.js 에서는 AuthContext를 구독하고 있다. 그래서 IsLoggedIn이 true인 것을 인지하고 <NavController> 호출.
4. NavController.js 에서는 IsLoggedIn이 true인 것을 확인하고, MainNavigation을 호출한다.
'프로젝트' 카테고리의 다른 글
[플러스백엔드1강] 허재코치님 - TDD (1) | 2024.03.16 |
---|---|
[스프링배치개발] EntityManagerFactory 오류 원인 및 해결 (1) | 2024.01.28 |
[인스타그램클론코딩] #12.6 Confirm (useMutation, 토큰 저장) (0) | 2021.03.17 |
[인스타그램클론코딩] 삽질 후기 - navigation.navigate, sendGrid 메일전송 (0) | 2021.03.17 |
[인스타그램클론코딩] 스프레드연산자, onChangeText #12.2 Auth Components part Two (0) | 2021.03.01 |
- Total
- Today
- Yesterday
- Inception
- Spring boot
- github
- 관계대수
- front
- GIT
- 항해플러스백엔드
- Use case
- 유즈케이스
- 폭포수
- 항해플러스후기
- 항해솔직후기
- 재테크공부
- 깃
- 월급쟁이부자들
- 열반스쿨기초반
- resize
- pop_back
- 부동산공부
- 깃허브
- 내년은 빡세게!!
- 인셉션
- 도커
- 2023년
- push_back
- ```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````
- 파라메터
- 개발자 회고
- 월부닷컴
- docker
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |