상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
수정하기 - 리액트 네이티브에서 로컬 스토리지를 사용하는 방법은 무엇인가요?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
리액트 네이티브에서 로컬 스토리지를 사용하는 방법은 여러 가지가 있지만, 가장 일반적으로 사용되는 방법은 `AsyncStorage`를 사용하는 것입니다. `AsyncStorage`는 비동기적으로 데이터를 저장하고 불러올 수 있는 간단한 API를 제공합니다. 이 API는 키-값 쌍으로 데이터를 저장하며, 앱이 종료되더라도 데이터가 유지됩니다. 1. AsyncStorage 설치 리액트 네이티브의 `AsyncStorage`는 기본적으로 포함되어 있지 않으므로, 먼저 설치해야 합니다. 다음 명령어를 사용하여 설치할 수 있습니다. ```bash npm install @<a href='https://sangseek.com/sangseeks/react-native/ko'>react-native</a>-async-storage/async-storage ``` 또는 Yarn을 사용하는 경우: ```bash yarn add @react-native-async-storage/async-storage ``` 2. AsyncStorage 사용하기 `AsyncStorage`를 사용하기 위해서는 먼저 import 해야 합니다. ```javascript import AsyncStorage from '@react-native-async-storage/async-storage'; ``` 데이터 저장하기 데이터를 저장하려면 `setItem` 메서드를 사용합니다. 이 메서드는 두 개의 인자를 받습니다: 키와 값. ```javascript const storeData = async (value) => { try { await AsyncStorage.setItem('@storage_Key', value); } catch (e) { // 저장 실패 console.error(e); } }; ``` 데이터 불러오기 저장된 데이터를 불러오려면 `getItem` 메서드를 사용합니다. 이 메서드는 키를 인자로 받아 해당 키에 대한 값을 반환합니다. ```javascript const getData = async () => { try { const value = await AsyncStorage.getItem('@storage_Key'); if (value !== null) { // 값이 존재할 경우 console.log(value); } } catch (e) { // 읽기 실패 console.error(e); } }; ``` 데이터 삭제하기 저장된 데이터를 삭제하려면 `removeItem` 메서드를 사용합니다. ```javascript const removeData = async () => { try { await AsyncStorage.removeItem('@storage_Key'); } catch (e) { // 삭제 실패 console.error(e); } }; ``` 모든 데이터 삭제하기 모든 데이터를 삭제하려면 `clear` 메서드를 사용할 수 있습니다. ```javascript const clearAllData = async () => { try { await AsyncStorage.clear(); } catch (e) { // 모든 데이터 삭제 실패 console.error(e); } }; ``` 3. 예제 코드 아래는 `AsyncStorage`를 사용하여 데이터를 저장하고 불러오는 간단한 예제입니다. ```javascript import React, { useEffect } from 'react'; import { View, Button, Text } from 'react-native'; import AsyncStorage from '@react-native-async-storage/async-storage'; const App = () => { const storeData = async () => { try { await AsyncStorage.setItem('@storage_Key', 'Hello World'); } catch (e) { console.error(e); } }; const getData = async () => { try { const value = await AsyncStorage.getItem('@storage_Key'); if (value !== null) { console.log(value); } } catch (e) { console.error(e); } }; useEffect(() => { storeData(); getData(); }, []); return ( <View> <Text>AsyncStorage Example</Text> <Button title="Get Data" onPress={getData} /> </View> ); }; export default App; ``` 4. 주의사항 - 비동기 처리 : `AsyncStorage`는 비동기적으로 작동하므로, 데이터를 저장하거나 불러올 때는 항상 `async/await` 또는 `.then()`을 사용하여 비동기 처리를 해야 합니다. - 데이터 크기 제한 : `AsyncStorage`는 저장할 수 있는 데이터의 크기에 제한이 있습니다. 일반적으로 6MB에서 10MB 정도로 제한되므로, 큰 데이터를 저장할 때는 다른 방법을 고려해야 합니다. - 보안 : `AsyncStorage`는 데이터를 암호화하지 않으므로, 민감한 정보를 저장할 때는 주의해야 합니다. 민감한 데이터는 다른 보안 저장소를 사용하는 것이 좋습니다. 이와 같이 리액트 네이티브에서 `AsyncStorage`를 사용하여 로컬 스토리지를 구현할 수 있습니다. 이를 통해 사용자 설정이나 간단한 데이터를 저장하고 관리할 수 있습니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기