RN 질문좀 받아주실 수 있나요?
92
작성한 질문수 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에 저장해두고, 네트워크 연결이 없어도 기존에 저장한 데이터를 사용하여 앱을 실행할 수 있습니다. 추가적으로, 어떤 앱에서는 기존에 캐싱된 정보로 오프라인 환경에서도 작동할 수 있도록 설계되어 있을 수 있습니다.
위 정보가 도움이 되셨길 바랍니다. 추가 질문이 있으시면 언제든 문의하세요! 좋은 하루 되세요. 😊
secureTextEntry 설정에 관해
0
58
2
expo 55 tabs 사라짐 이슈
0
82
2
11강 23:35부터 막혀서 질문 드려요.
0
73
2
expo-blur 사용하면서 생긴 버그입니다.
0
113
3
router.navigate 동작이 달라졌을까요?
0
64
1
Toast 기능
0
73
2
onEndReached 함수가 바로 호출 되지 않는 이슈
1
63
1
expo push service에 관한 질문
0
79
2
백엔드도 궁금합니다!
1
85
1
ios에서 개발중이신 분들은
1
85
1
[질문아님] tabBarLabel 대신 tabBarShowLabel
1
58
1
댓글 버튼 하단에 고정되지 않는 이슈
0
53
1
SafeAreaView 적용 기준 문의
0
80
2
react-native-screens 버전 호환 문제
2
155
1
스크린 옵션 아이콘
0
55
2
강의 업데이트에 대해 문의드립니다.
0
43
1
[Note] 안드로이드 네비게이션 헤더 이슈 안내
0
65
2
안드로이드 실행 중 Drawer네비게이션과 MapView 성능 문제
0
104
2
[해결]그랩님 답변 주세요.
0
160
2
해당 강의 부분은 실제 활용하기에 부족해 제가 해결한 방법입니다.
0
97
1
ActionSheet
0
86
1
Location.getCurrentPositionAsync({}); 에러
1
125
3
소스코드가 강의 순서랑 다른가요?
0
73
2
API 주소
0
83
1





