더북(TheBook)

7.8 AsyncStorage로 데이터 유지하기

마지막으로 AsyncStorage로 앱을 종료해도 데이터를 유지하도록 구현해주겠습니다. 이 부분은 4.6절에서 이미 배웠지요?

우선 라이브러리를 설치해주세요.

$ yarn add @react-native-community/async-storage

그리고 시뮬레이터를 다시 실행해주세요.

$ yarn android
$ npx pod-install
$ yarn ios

storages 디렉터리를 만들고 그 안에 logsStorage.js 파일을 다음과 같이 작성하세요.

storages/logsStorage.js

import AsyncStorage from '@react-native-community/async-storage';

const key = 'logs';

const logsStorage = {
  async get() {
    try {
      const raw = await AsyncStorage.getItem(key);
      const parsed = JSON.parse(raw);
      return parsed;
    } catch (e) {
      throw new Error('Failed to load logs');
    }
  },
  async set(data) {
    try {
      await AsyncStorage.setItem(key, JSON.stringify(data));
    } catch (e) {
      throw new Error('Failed to save logs');
    }
  },
};

export default logsStorage;
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.