
์ฑ์ ๋ง๋ค๋ค ๋ณด๋ฉด ์ฌ์ฉ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ์ผ์ด ๋ง์์ง๋ค.
์ด๋ฐ ๋ฐ์ดํฐ๋ฅผ ์์ ํ๊ณ ํจ์จ์ ์ผ๋ก ์ ์ฅํ๋ ๋ฐฉ๋ฒ์
React Native์์ ์ด๋ค ์ ์ฅ์๋ฅผ ์ฌ์ฉํ๋๋์ ๋ฐ๋ผ ๋ค๋ฅด๋ค.
์ด๋ฒ ๊ธ์์๋
React Native์์ ์์ฃผ ์ฐ์ด๋ ์ ์ฅ ๋ฐฉ์ ์ธ ๊ฐ์ง๋ฅผ ๋น๊ตํด๋ณธ๋ค.
npm install @react-native-async-storage/async-storage
import AsyncStorage from '@react-native-async-storage/async-storage';
await AsyncStorage.setItem('theme', 'dark');
const theme = await AsyncStorage.getItem('theme');
localStorage์ ์ ์ฌ๐ฆ ์ ์ฅ ์์น: ๋ด๋ถ ๋์คํฌ (iOS/Android ๋ก์ปฌ ์์ญ)
๐ ๋ณด์: ๊ธฐ๋ณธ์ ์ผ๋ก ์ํธํ๋์ง ์์
โ
์ฑ ์ค์ , ๊ฐ๋จํ ์บ์, ๋น๋ก๊ทธ์ธ ์ ์ ์ํ
โ ๋ก๊ทธ์ธ ํ ํฐ ์ ์ฅ์ ๋น์ถ์ฒ
npx expo install expo-secure-store
import * as SecureStore from 'expo-secure-store';
await SecureStore.setItemAsync('token', 'abc123');
const token = await SecureStore.getItemAsync('token');
๐ฆ ์ ์ฅ ์์น: OS๋ณ ๋ณด์ ์ ์ฅ์
๐ ๋ณด์: ๋งค์ฐ ์์ (๊ถํ์ด ์๋ ์ฑ์ ์ ๊ทผ ๋ถ๊ฐ)
โ
๋ก๊ทธ์ธ ํ ํฐ, ๋ฏผ๊ฐ ์ ๋ณด ์ ์ฅ
โ ์ฉ๋ ์ ํ ์กด์ฌ (์์ ํค-๊ฐ ์ ์ฅ์ ์ ํฉ)
npm install react-native-keychain
import * as Keychain from 'react-native-keychain';
await Keychain.setGenericPassword('user', 'secureToken');
const credentials = await Keychain.getGenericPassword();
โ
๋ก๊ทธ์ธ ์ ๋ณด, ์์ฒด ์ธ์ฆ ๊ธฐ๋ฐ ์๋ ๋ก๊ทธ์ธ
โ ์ค์ ๋ณต์ก, Expo Go์์๋ ๋ฏธ์ง์ (EAS ๋น๋ ํ์)
| ํญ๋ชฉ | AsyncStorage | SecureStore | Keychain |
|---|---|---|---|
| ๋ณด์ ์์ค | ๋ฎ์ | ๋์ | ๋งค์ฐ ๋์ |
| ์ฉ๋ ์ ํ | ์์ | ์์ (์์ ๋ฐ์ดํฐ ์ ํฉ) | ์์ |
| ๋ฌธ์์ด ์ธ ๋ฐ์ดํฐ | X (์ง์ ๋ณํ ํ์) | O | O |
| ์์ฒด ์ธ์ฆ | X | ์กฐ๊ฑด๋ถ | โ ์ง์ |
| Expo ์ง์ | โ | โ | โ (EAS ๋น๋ ํ์) |
| ์ํฉ | ์ถ์ฒ ์ ์ฅ ๋ฐฉ์ |
|---|---|
| ๋คํฌ๋ชจ๋, ์ธ์ด ์ค์ ๋ฑ | AsyncStorage |
| ๋ก๊ทธ์ธ ํ ํฐ, refresh token | SecureStore or Keychain |
| ์๋ ๋ก๊ทธ์ธ + Face ID | Keychain |
| ๋นํ์ ์ํ ์ ์ง | AsyncStorage |
| ์ค์ ๊ฐ + ๋ฏผ๊ฐ ์ ๋ณด ๊ตฌ๋ถ | ๋์ ๋ณํ ์ฌ์ฉ ๊ฐ๋ฅ (๊ตฌ์กฐ ์ค๊ณ ์ค์) |
์ฒ์์๋ ๋ชจ๋ ๊ฑธ AsyncStorage์ ๋ฃ์๋๋ฐ,
๋ก๊ทธ์ธ ํ ํฐ์ด ํ์ทจ๋ ์ ์๋ค๋ ์ฌ์ค์ ๋์ค์ ์๊ฒ ๋๋ค.
๊ทธ ํ SecureStore๋ก ๋ฏผ๊ฐ ์ ๋ณด๋ ๋ฐ๋ก ๋ถ๋ฆฌํด์ ์ ์ฅํ๊ณ ,
์ค์ ๊ฐ์ AsyncStorage์ ์ ์ฅํ๋ ๋ฐฉ์์ผ๋ก ๊ตฌ์กฐ๋ฅผ ์ก๊ณ ์๋ค.
์ง๊ธ์ ๋ก๊ทธ์ธ ์ํ๋ฅผ Keychain + Zustand๋ก ์ฒ๋ฆฌํด์
์ฑ์ ๊ป๋ค ์ผ๋ ์๋ ๋ก๊ทธ์ธ์ด ์ ๋๋๋ก ๊ตฌํํ๊ณ ์๋ค.
๐ โ์ฑ์ ์ ๋ขฐ๋ UX๋ก ์์ํด์, ๋ณด์์ผ๋ก ์์ฑ๋๋ค.โ