Today, What I learned?
์น์ด๋ ์ฑ์ด๋ ์ด๋ค ์ ๋ณด๋ค์ ๋ก์ปฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅํด์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ์๋ค.
ํฌ๋๋ฆฌ์คํธ๋ฅผ ์์ฐฝ ๋ง๋ค๊ณ ์์ผ๋ ์ด๊ฑธ ์์๋ก ๋ค์๋ฉด,
์๋ก๊ณ ์นจํ๊ฑฐ๋ ์ข ๋ฃ ํ ๋ค์ ์คํํ์ ๋ ์ ์ ์์ฑํ๋ ๋ฆฌ์คํธ๊ฐ ๋จ์์๋ ๊ฒ์ด ํ์!
๋ธ๋ผ์ฐ์ ์ ๋ก์ปฌ ์คํ ๋ฆฌ์ง๊ฐ ์๋ค๋ฉด, React Native์์๋ AsyncStorage๋ฅผ ์ด์ฉํด์ ์ ์ฅํด๋ณผ ์ ์๋ค.
Async Storage
๊ณต์ ๋ฌธ์์ ๋ค์ด๊ฐ ๋ณด๋ฉด ์๋์ ๊ฐ์ ๋ด์ฉ์ด ์๋ค.
Data storage system for React Native.
๋ฆฌ์กํธ ๋ค์ดํฐ๋ธ๋ฅผ ์ํ ๋ฐ์ดํฐ ์คํ ๋ฆฌ์ง!
์ ์ฅํ๊ฑฐ๋ ๋ถ๋ฌ์ค๋ ๋ฐฉ์์ด Local Storage๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ์๊ณผ ๊ฑฐ์ ํก์ฌํ๋ค.
https://react-native-async-storage.github.io/async-storage/
์ค์น
npm install @react-native-async-storage/async-storage
์ค์น ํ import ํด์ ์ฌ์ฉํ๋ฉด ๋๋ค.
์ฌ์ฉ
์ด๋ฆ๋ถํฐ๊ฐ Async Storage ์ธ ๊ฒ์ฒ๋ผ, async
- await
๋ฅผ ์ด์ฉํด์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ๊ฐ์ ธ์จ๋ค.
์ ์ฅํ๊ณ ๋ถ๋ฌ์ค๋ ๋ฐฉ์์ getItem, setItem์ผ๋ก ๋ก์ปฌ ์คํ ๋ฆฌ์ง์ ๋์ผํ ๋ฐฉ์์ด๋ค.
๋ค๋ง ๋ฐฐ์ด์ด๋ ๊ฐ์ฒด๋ฅผ setItem
๋ฉ์๋๋ก ์ ์ฅํ๊ธฐ ์ํด์๋ JSON.parse()
๋ก ๊ฐ์ ธ์ค๊ณ JSON.stringify()
๋ก ์ ์ฅํด์ผ ํ๋ ์ ์ด ์์๋ค.
getItem
const getTodos = async () => {
const allTodos = await AsyncStorage.getItem('todos');
const currentCategory = await AsyncStorage.getItem('category');
setTodos(JSON.parse(allTodos));
setCategory(currentCategory ?? 'js');
};
setItem
const saveTodos = async () => {
await AsyncStorage.setItem('todos', JSON.stringify(todos));
await AsyncStorage.setItem('category', category);
};
์ ์ฉํ์ ๋ ์๋ก๊ณ ์นจํด๋ ๋ฐ์ดํฐ๊ฐ ๋จ์์๋ ๋ชจ์ต์ ๋ณผ ์ ์๋ค.
ํฌ๊ฒ ์ค์ํ์ง ์์ ๋ฐ์ดํฐ์ด๊ฑฐ๋, ๊ฐ๋จํ๊ฒ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ๋ ์ฌ์ฉํ๋ฉด ์ข์ ๊ฒ ๊ฐ๋ค!
'๐ Studying > ๐ TIL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ReactNative] useEffect์ useFocusEffect (0) | 2023.01.03 |
---|---|
์ปค์คํ ํ ์ผ๋ก ํฌ๋๋ฆฌ์คํธ input ๋ฆฌํฉํ ๋งํ๊ธฐ (0) | 2023.01.02 |
[React Native] Expo๋ก RN ์ฝ๊ฒ ์์ํ๊ธฐ (0) | 2022.12.29 |
[React] API์๋ฒ env ํ๊ฒฝ๋ณ์ ์ ์ฉํ๊ธฐ (0) | 2022.12.27 |
[React] setState ํจ์ prop์ผ๋ก ๋ณด๋ด ์ฌ์ฉํ๊ธฐ (0) | 2022.12.26 |
Comment