RN 질문좀 받아주실 수 있나요?
102
작성한 질문수 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에 저장해두고, 네트워크 연결이 없어도 기존에 저장한 데이터를 사용하여 앱을 실행할 수 있습니다. 추가적으로, 어떤 앱에서는 기존에 캐싱된 정보로 오프라인 환경에서도 작동할 수 있도록 설계되어 있을 수 있습니다.
위 정보가 도움이 되셨길 바랍니다. 추가 질문이 있으시면 언제든 문의하세요! 좋은 하루 되세요. 😊
피그마 스타일링 질문
0
41
2
miragejs 강의 건
0
63
2
saveToLibraryAsync
0
54
2
<div id="banner">배너 이미지</div> 관련 질문
0
49
1
eas 빌드가 엄청 오래걸려서..
0
114
2
android crud중 c 영상이 12초만 있는 잘린 영상이에요.
0
78
2
디바이스 별 다른 크기의 화면을 고려하는 반응형UI
0
85
2
createPointTransactionOfLoading 에러
0
62
1
secureTextEntry 설정에 관해
0
115
2
expo 55 tabs 사라짐 이슈
0
159
2
11강 23:35부터 막혀서 질문 드려요.
0
123
2
expo-blur 사용하면서 생긴 버그입니다.
0
196
3
router.navigate 동작이 달라졌을까요?
0
110
1
Toast 기능
0
128
2
onEndReached 함수가 바로 호출 되지 않는 이슈
1
103
1
expo push service에 관한 질문
0
127
2
백엔드도 궁금합니다!
1
132
1
ios에서 개발중이신 분들은
1
109
1
[질문아님] tabBarLabel 대신 tabBarShowLabel
1
94
1
댓글 버튼 하단에 고정되지 않는 이슈
0
123
1
SafeAreaView 적용 기준 문의
0
112
2
react-native-screens 버전 호환 문제
3
223
1
스크린 옵션 아이콘
0
88
2
강의 업데이트에 대해 문의드립니다.
0
71
1





