어싱크스토리지는 개발을 할 때 변수값을 저장해두는 공간이라고 생각하면 편할 것 같습니다!
근데 어싱크스토리지 말고도 변수값은 저장은 해둘 수 있는 곳이 많죠 ex) 컴포넌트의 state나 redux등으로 저장이
가능합니다.
그러면 어싱크스토리지는 왜 쓰는가?
어싱크스토리지는 로컬 데이터베이스 저장소라고 생각하시면 다가가기 쉬울 것 같습니다. 앱이 꺼져도 데이터베이스는 남아있듯이 똑같이 어싱크스토리지에 값을 저장하고 앱을 꺼도 데이터가 저장되어있는 개념입니다.
reactnative.dev/docs/asyncstoragewww.npmjs.com/package/@react-native-community/async-storage
https://github.com/andpor/react-native-sqlite-storage
일단 사용법은 npm을 설치 해줍니다. npm 고르는 것은 개발자 선택이니 일단 예시 3개를 올려놨습니다.
AsyncStorage.setItem('id','userId0', () => {
console.log("저장되었습니다!");
}); // 저장하는 법
// 유저 닉네임 불러오기
AsyncStorage.getItem('id', getId => {
console.log(getId);
}); // 이렇게 불러오면 userId0을 불러와서 사용할 수 있습니다.
대표적으로 setItem, getItem 만 알고 있어도 유용하게 사용할 수 있습니다 :)
JSON.stringify 를 통해서 저장 데이터가 Json형태일경우 문자열로 바꾸어 주어야합니다.
데이터 바꾸기
AsyncStorage.mergeItem(key값, 바꿀데이터)
키값을 통해서 저장되는 데이터를 바꿀 수 있습니다.
데이터 전체 지우기
AsyncStorage.clear() // 복구 불가