react-native AsyncStorage 사용하기

2018. 12. 22. 23:17javascript/react-native

AsyncStorage  사용하기 


react-native내부에서 사용할 데이터베이스를 고민하다가 리액트 네이티브에서 제공해주는 간단한 AsyncStorage는 앱 전체적으로 사용할 수 있으며 비동기적이고 지속성있고 암호화 되어 있지 않는 모듈입니다. 


ios에서는 네이티브 코드 뒤에서 위치하며 작은 크기는 연속적으로 저장하며 큰 데이터는 분산하여 저장합니다. 안드로이드에서는 락스디비 혹은 sqllite를 기반으로 하여 사용할 수 있습니다. 


error가 있으면 error를 반환하고 또는 Promise를 반환하기도 합니다. 


호출하기 


import { AsyncStorage } from "react-native"


저장되어 있는 데이터의 키값 가져오기 


AsyncStorage.getAllKeys();


array형태로 반환됩니다. 


저장하기


문자열 데이터 밖에 저장이 안되기 때문에 


JSON.stringify 를 통해서 저장 데이터가 Json형태일경우 문자열로 바꾸어 주어야합니다.

AsyncStorage.setItem(key, savingData);


한꺼번에 여러개 저장하기 


데이터 불러오기


AsyncStorage.getItem(key)


데이터 여러개 불러오기 


getAllkeys()와함께 사용하면 효율적이게 사용할 수 있습니다. 


keys는 배열형태이며 stores가 key값과 value를 동시에 반환합니다. 


AsyncStorage.getAllKeys((err, keys) => {

AsyncStorage.multiGet(keys, (err, stores) => { stores.map((result, i, store) => { // get at each store's key/value so you can work with it let key = store[i][0]; let value = store[i][1]; }); }); });



데이터 바꾸기 


AsyncStorage.mergeItem(dbKey, savingData)


키값을 통해서 저장되는 데이터를 바꿀 수 있습니다. 



데이터 전체 지우기


AsyncStorage.clear()


'javascript > react-native' 카테고리의 다른 글

React native 프로젝트 만들기(expo x)  (0) 2020.04.01
expo cli Vs react-native cl  (2) 2019.04.02
react-navigation사용하기  (0) 2018.12.22
react-native 개발 환경 설정하기(expo)  (0) 2018.12.22