RN 질문좀 받아주실 수 있나요?
94
작성한 질문수 1
궁금한게 생겨 질문합니다..
제가 쓰는 캘린더 앱은 네트워크 연결을 끊고 들어가도 데이터에 접근이 가능합니다.. 끈 상태로 편집도 가능하고요, aysnc-storage 캐시를 쓰고 있는거겠죠?
그럼
AsyncStorage에 모든 데이터를 저장한다면, 왜 전역 상태 관리가 추가로 필요한가요? AsyncStorage가 비동기라서 느리다고 하는데, 전역 상태 변수를 바꿔서 UI를 빠르게 업데이트하고 useEffect로 AsyncStorage에 저장하는 방식인가요?
Refresh/Access 토큰 방식으로 인증을 관리할 때, access 토큰을 발급받으려면 서버 통신이 필요한데, 오프라인에서도 앱 접속이 되는 이유가 궁금합니다.
리프레쉬는 저장되어있겠지만
access는 state에 저장해둔다고 알고 있는데 그럼 앱 껐을 때 사라지고 로그인할 때 발급되는거 아닌가요? 이게 네트워크 연결 없이 되는 이유가 궁금합니다.
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. infosysSYS님.
질문해주신 사항에 대해 답변 드리겠습니다.
AsyncStorage에 모든 데이터를 저장하면서도 전역 상태 관리가 필요한 이유:
AsyncStorage는 모바일 기기에 데이터를 비동기로 저장할 수 있는 방법이지만, 저장 및 불러오는 과정이 느릴 수 있습니다. 따라서 UI를 보다 빠르게 업데이트하기 위해서는 상태 관리 라이브러리 (Redux, MobX 등)를 활용하여 애플리케이션의 상태를 관리하고, 필요한 순간에useEffect등을 통해 AsyncStorage에 데이터를 저장하거나 불러오는 것이 효과적입니다. 이를 통해 사용자 경험을 향상시킬 수 있습니다.오프라인에서 앱 접근이 가능한 이유:
Refresh/Access 토큰 방식에서 access 토큰은 일반적으로 짧은 수명이지만, 오프라인 사용이 가능한 이유는 Refresh 토큰이 기기에 안전하게 저장되어 있기 때문입니다. 이 경우, 앱은 첫 실행 시 발급받은 접근 권한을 앱의 상태 또는 AsyncStorage에 저장해두고, 네트워크 연결이 없어도 기존에 저장한 데이터를 사용하여 앱을 실행할 수 있습니다. 추가적으로, 어떤 앱에서는 기존에 캐싱된 정보로 오프라인 환경에서도 작동할 수 있도록 설계되어 있을 수 있습니다.
위 정보가 도움이 되셨길 바랍니다. 추가 질문이 있으시면 언제든 문의하세요! 좋은 하루 되세요. 😊
eas 빌드가 엄청 오래걸려서..
0
60
2
android crud중 c 영상이 12초만 있는 잘린 영상이에요.
0
50
2
디바이스 별 다른 크기의 화면을 고려하는 반응형UI
0
54
2
createPointTransactionOfLoading 에러
0
34
1
secureTextEntry 설정에 관해
0
89
2
expo 55 tabs 사라짐 이슈
0
128
2
11강 23:35부터 막혀서 질문 드려요.
0
96
2
expo-blur 사용하면서 생긴 버그입니다.
0
156
3
router.navigate 동작이 달라졌을까요?
0
83
1
Toast 기능
0
92
2
onEndReached 함수가 바로 호출 되지 않는 이슈
1
82
1
expo push service에 관한 질문
0
97
2
백엔드도 궁금합니다!
1
111
1
ios에서 개발중이신 분들은
1
91
1
[질문아님] tabBarLabel 대신 tabBarShowLabel
1
65
1
댓글 버튼 하단에 고정되지 않는 이슈
0
76
1
SafeAreaView 적용 기준 문의
0
96
2
react-native-screens 버전 호환 문제
3
181
1
스크린 옵션 아이콘
0
68
2
강의 업데이트에 대해 문의드립니다.
0
53
1
[Note] 안드로이드 네비게이션 헤더 이슈 안내
0
80
2
안드로이드 실행 중 Drawer네비게이션과 MapView 성능 문제
0
134
2
[해결]그랩님 답변 주세요.
0
193
2
해당 강의 부분은 실제 활용하기에 부족해 제가 해결한 방법입니다.
0
113
1





