๐ย Reference
๐ย Chapter
โฃ
React Native Async Storage
- React Native Async Storage
- React Native ์ฑ์์ ์๊ตฌ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ๋ถ๋ฌ์ฌ ์ ์๊ฒ ํด์ฃผ๋ ๋น๋๊ธฐ ์คํ ๋ฆฌ์ง ์์คํ
์ด๋ค.
- ์ฝ๊ฒ ๋งํด, ์ฑ์ ๊ป๋ค๊ฐ ๋ค์ ์ผ๋ ๋ฐ์ดํฐ๊ฐ ์ฌ๋ผ์ง์ง ์๊ณ ์ ์ง๋๋๋ก ์์ ์์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๋ฐ ์ฌ์ฉ๋๋ค.
- ์น์
localStorage
์ ๋น์ทํ ์ญํ ์ ํ์ง๋ง, ๋น๋๊ธฐ ๋ฐฉ์์ผ๋ก ์๋ํ๋ค๋ ์ค์ํ ์ฐจ์ด์ ์ด ์๋ค.
React Native Async Storage - ํน์ง
- ๋น๋๊ธฐ (Asynchronous)
- ์ด๋ฆ์์ ์ ์ ์๋ฏ์ด, AsyncStorage์ ๋ชจ๋ ์์
์ ๋น๋๊ธฐ์ ์ผ๋ก ์ํ๋๋ค.
- ์ด๋ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ฑฐ๋ ์ฐ๋ ๋์ ์ฑ์ UI๊ฐ ๋ฉ์ถ๋(๋ธ๋กํน๋๋) ๊ฒ์ ๋ฐฉ์งํ์ฌ ๋ถ๋๋ฌ์ด ์ฌ์ฉ์ ๊ฒฝํ์ ์ ๊ณตํ๋ค.
- ๋ฐ๋ผ์
Promise
๋ async/await
๋ฌธ๋ฒ์ ์ฌ์ฉํ์ฌ ๊ฒฐ๊ณผ๋ฅผ ์ฒ๋ฆฌํด์ผ ํ๋ค.
- ์ง์์ฑ (Persistence)
- ์ฑ์ด ์ข
๋ฃ๋๊ฑฐ๋ ๊ธฐ๊ธฐ๊ฐ ์ฌ๋ถํ
๋์ด๋ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ ์ ์ง๋๋ค.
- ์ฌ์ฉ์ ์ค์ , ๋ก๊ทธ์ธ ํ ํฐ, ๊ฐ๋จํ ์คํ๋ผ์ธ ์บ์ ๋ฑ ์ฑ์ ์ํ๋ฅผ ๋ณด์กดํด์ผ ํ๋ ๊ฒฝ์ฐ์ ์ ์ฉํ๋ค.
- ํค-๊ฐ ์ (Key-Value Pair)
- ๋ฐ์ดํฐ๋ ๋ฌธ์์ด ํํ์ ํค์ ๊ฐ์ ์์ผ๋ก ์ ์ฅ๋๋ค.
- ๋ณต์กํ JavaScript ๊ฐ์ฒด๋ฅผ ์ ์ฅํ๋ ค๋ฉด
JSON.stringify()
๋ฅผ ์ฌ์ฉํ์ฌ ๋ฌธ์์ด๋ก ๋ณํํ ํ ์ ์ฅํด์ผ ํ๋ฉฐ, ๋ถ๋ฌ์ฌ ๋๋ JSON.parse()
๋ฅผ ์ฌ์ฉํ์ฌ ๋ค์ ๊ฐ์ฒด๋ก ๋ณํํด์ผ ํ๋ค.
- ํฌ๋ก์ค ํ๋ซํผ (Cross-Platform)
- iOS์ Android ๋ชจ๋์์ ๋์ผํ API๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ๊ด๋ฆฌํ ์ ์๋ค.
- ๋ด๋ถ ๊ตฌํ
- iOS: ์ผ๋ฐ์ ์ผ๋ก ์ง๋ ฌํ๋ ๋์
๋๋ฆฌ(serialized dictionary)๋ SQLite๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ค.
- Android: RocksDB ๋๋ SQLite๋ฅผ ๋ฐฑ์๋๋ก ์ฌ์ฉํ๋ค.