Programming/React Native

[React Native] AsyncStorage 공식 문서 번역하기

리버김 2022. 12. 9.
React Native 코드 공부하다 마주친 녀석
 

🚧 AsyncStorage · React Native

Deprecated. Use one of the community packages instead.

reactnative.dev

 

 Deprecated 되었다. 대신 community packages를 써라(!)

AsyncStorage는 앱 전역적인 암호화되지 않은, 비동기적인, 지속적인, 키-값 저장 시스템이며, LocalStorage 대신 쓰여야 한다.

 

 간단하게 사용할 때를 제외하고 AsyncStorage를 직접 쓰는 것보다, 상단에서 추상화하는 것을 권한다. 왜냐하면 AsyncStorage가 전역적으로 작동하기 때문이다.

 

 iOS에서는 serialized된 dictionary 형태의 작은 값들과 구분된 파일 형태의 큰 값들을 저장하고 있는 native 코드가 AsyncStorage를 뒷받침한다. Android에서는 RocksDB나 SQLite 중 가능한 것을 사용할 거다.

 

 AsyncStorage는 facade 형태의 Javascript 코드로, 명료한 Javascript API와 Error 객체 그리고 non-multi 함수들을 제공한다. API에담긴 각 메서드는 Promise 객체를 반환한다.

 

AsyncStorage 라이브러리 import하기

import { AsyncStorage } from 'react-native';

data 보존하기

_storeData = async () => {
  try {
    await AsyncStorage.setItem(
      '@MySuperStore:key',
      'I like to save it.'
    );
  } catch (error) {
    // Error saving data
  }
};

data Fetching

_retrieveData = async () => {
  try {
    const value = await AsyncStorage.getItem('TASKS');
    if (value !== null) {
      // We have data!!
      console.log(value);
    }
  } catch (error) {
    // Error retrieving data
  }
};

Methods

*구체적인 설명과 예시는 링크 참조

 

1. getItem()

키 값에 맞는 아이템을 fetch하고, 완료되면 callback 함수를 실행한다. Promise 객체를 반환한다.

 

2. setItem()

키 값에 값을 설정하고, 완료되면 callback 함수를 실행한다. Promise 객체를 반환한다.

 

3. removeItem()

키 값에 맞는 아이템을 삭제하고, 완료되면 callback 함수를 실행한다. Promise 객체를 반환한다.

 

4. mergeItem()

존재하는 키의 값을 input 값과 합친다. 이 때 두 값 모두 stringify된 JSON이라고 생각한다. Promise 객체를 반환한다.

 

5. clear()

모든 client, library, etc에 대해 모든 AsyncStorage를 지운다. 당신은 이 메서드를 호출하고 싶지 않을 것이다(ㅋㅋㅋ)

당신의 앱의 키들만 clear하기 위해 대신 removeItem이나 multiRemove를 사용해라. Promise 객체를 반환한다.

 

6. getAllKeys()

당신의 앱에 알려진 모든 키들을 가져온다. Promise 객체를 반환한다.

 

7. flushGetRequests()

데이터를 가져오기 위해 single batch를 사용하는 모든 대기중인 요청들을 flush한다.

 

and more...!

반응형

댓글