Today, What I learned? ๋ฆฌ์กํธ ๋ค์ดํฐ๋ธ์์ ์ค์ฒฉ ๋ผ์ฐํฐ๋ก Stack์ ๋ง๋ค์ด๋๊ณ , ๋ด๋น๊ฒ์ด์ ์ ์ง์ ํ์ ๋ ์๋์ ๊ฐ์ ์๋ฌ๋ฅผ ๋ง๋ฌ๋ค. ์ค์ฒฉ ๋ผ์ฐํฐ์์๋ ๋ค๋น๊ฒ์ด์ ์ ์ด๋ค ์์ผ๋ก ์ง์ ํด์ฃผ์ด์ผ ํ๋์ง ์ ๋ฆฌํด๋ณด๋ ค๊ณ ํ๋ค. ๋ด๋น๊ฒ์ด์ ๊ตฌ์กฐ ์ฐ์ ๋ค๋น๊ฒ์ด์ ๊ตฌ์กฐ๋ Root๋ผ๋ ์คํ์์ ์คํ๊ณผ ํญ์ ํ๋๋ก ๋ฌถ์ด์ฃผ๊ณ ์๋, ์ค์ฒฉ๋ ๊ตฌ์กฐ๋ค. ์ค์ฒฉ๋ ๋ค๋น๊ฒ์ด์ ์ ์๋ฌ ๋ฉ์์ง์๋ ์๋ navigation ๊ด๋ จ ๋งํฌ๋ก ์ด๋ํด์ ๋ณด๋ฉด ์ผ๋ฐ์ ์ธ ๋ด๋น๊ฒ์ด์ ์ง์ ์ ์๋์ ๊ฐ์ด ํ ์ ์๋ค. navigation.navigate('ํ์ด์ง ์ปดํฌ๋ํธ๋ช '); ์ค์ฒฉ๋ ๋ด๋น๊ฒ์ด์ ์์๋ ๋จผ์ ์์ ๋ด๋น๊ฒ์ด์ ์ ์ง์ ํด ์ฃผ๊ณ screen์ด๋ผ๋ ์์ฑ์ผ๋ก ํ์ด์ง๋ช ์ ์ง์ ํ๋ค. navigation.navigate('Root', {..
Today, What I learned? ๋ฆฌ์กํธ ์ฟผ๋ฆฌ๋ฅผ ์ด์ฉํด์ ๋ฌดํ์คํฌ๋กค์ ์ ์ฉํด ๋ณด์๋ค. ๋ฌดํ์คํฌ๋กค๋ก ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ค๋ ๊ฒ์ ์์ง๊น์ง ์๋ํด๋ณด์ง ๋ชปํ๋ ๊ธฐ๋ฅ์ด์๋๋ฐ useInfiniteQuery ํ ์ ์ฌ์ฉํด์ ์๊ฐ๋ณด๋ค ์ฝ๊ฒ ์ ์ฉํ ์ ์์๋ค..! FlatList ๋จผ์ FlatList์์ ๋ฌดํ์คํฌ๋กค์ ์ํด ํ์ํ ๋ ๊ฐ์ง ์์ฑ์ ์ถ๊ฐํด์ผ ํ๋ค. onEndReached ๋์ ์ ๋๋ฌํ์ ๋ ์คํ์ํฌ ํจ์๊ฐ ๋ค์ด๊ฐ๋ ์์ฑ onEndReachedThreshold ์คํฌ๋ฆฐ ๋์ด์ ๋๋ฌํ๊ธฐ ์ ์ ์ผ๋งํผ ๋จผ์ fetch ํจ์๋ฅผ ๋น ๋ฅด๊ฒ ์คํ์ํฌ ๊ฒ์ธ์ง์ ๋ํ ์์ฑ. ์ซ์๋ก ๋ค์ด๊ฐ๋ค. 1์ผ ๊ฒฝ์ฐ์ ๋์ ๋๋ฌํ์ ๊ฒฝ์ฐ ์คํ๋๋ค. ๋ก์ง์ ๊ตฌ์ฑ ๋ฌดํ ์คํฌ๋กค์ด ์ด๋ค ๋ฐฉ์์ผ๋ก ์ด๋ฃจ์ด์ง๋์ง๋ฅผ ๊ฐ๋ตํ๊ฒ ์ ๋ฆฌํ๋ฉด ์ด๋ ๋ค. ๊ธฐ์กด ๋ฐฐ์ด ..
Today, What I Learned? ๋ฆฌ์กํธ ๋ค์ดํฐ๋ธ ๊ณต์๋ฌธ์์ ScrollView๋ฅผ ๋ณด๋ค๊ฐ ์์ ๋น๊ตํ๋ ๋ถ๋ถ์ด ์์ด ์ ๋ฆฌํด ๋ณด๊ณ , ํ์ฌ ๋ง๋ค๊ณ ์๋ ์ํ ์ฑ์ ScrollView ๋ถ๋ถ์ FlatList๋ก ๋ฐ๊ฟ๋ณด๋ ์์ ์ ๊ธฐ๋กํด๋๋ ค ํ๋ค. vs ์ ์บก์ฒ๋ ๋ฆฌ์กํธ ๋ค์ดํฐ๋ธ ๊ณต์ ๋ฌธ์์์ ๋ฐ์ทํด์จ ๋ถ๋ถ์ด๋ค. ์ดํด๋ณด๋ฉด ๋๋ต ์ด๋ฐ ๋ด์ฉ์ด๋ค. ScrollView๋ ๋ ๋ ์์ ๋ชจ๋ ์์ ์ปดํฌ๋ํธ๋ค์ ํ ๋ฒ์ ๊ฐ์ ธ์์ ์ฑ๋ฅ์ด ์ ํ๋๋ค. FlatList๋ ๋ ๋ ์์ ๋ณด์ด๋ ๊ฒ๋ค๋ง lazilyํ๊ฒ ๊ฐ์ ธ์ค๊ณ , ์คํฌ๋กค์ ๋ด๋ ค์ผ ๋ณผ ์ ์๋ ์์ดํ ๋ค์ ์ง์๋ฒ๋ฆฌ๊ธฐ ๋๋ฌธ์ ๋ฉ๋ชจ๋ฆฌ์ ์ฒ๋ฆฌ ์๊ฐ์ ์ ์ฝํ ์ ์๋ค. FlatList๋ ์ฌ๋ฌ ๊ธฐ๋ฅ์ ๋ด์ฅํ๊ณ ์๋ค. ํค๋ / ํธํฐ ์ง์ horizontal mode ์ง์ ๋ด๋ ค ๋น๊ฒผ์ ..
Today, What I learned? ์ปค์คํ ํ ์ ์ต์ํด์ ธ ๋ณด๊ธฐ ์ํด ํฌ๋๋ฆฌ์คํธ๋ฅผ ๋ฆฌํฉํฐ๋ง ํด๋ณด๊ธฐ๋ก ํ๋ค. ๊ธฐ์กด์ ์ฝ๋ ์ค์์ ํฌ๋๋ฆฌ์คํธ๋ฅผ ์ถ๊ฐํ๋ ๋ถ๋ถ์ ์ปค์คํ ํ ์ผ๋ก ๋ง๋ค์ด ๋ณด์๋ค. state์ dispatch, submitHandler ๊น์ง ๋ชจ๋ ๊ฐ์ ธ์๋ค. useInput import { useState } from 'react'; import { useDispatch } from 'react-redux'; import { nanoid } from '@reduxjs/toolkit'; import { __addTodos } from '../redux/modules/todoSlice'; const useInput = () => { const [title, setTitle] = useState('');..
12์ ๋ค์ฏ์งธ ์ฃผ๋ฅผ ๋ณด๋ด๋ฉฐ ์ํด์ ์์ฑํ๋ WIL! ํ๋ก์ ํธ๋ฅผ ๋ฌด์ฌํ ๋๋ด๊ณ ๋ฆฌ์กํธ ๋ค์ดํฐ๋ธ๋ฅผ ๋ฐฐ์ฐ๊ธฐ ์์ํ๋ ํ ์ฃผ๊ฐ ๊ธ๋ฐฉ ์ง๋๊ฐ๋ค. ๋ ์๋ก์ด ํ์ผ๋ก ํ๋ก์ ํธ๋ฅผ ๊ณง ์์ํ๊ฒ ๋ ํ ๋ฐ ์ด์ฌํ ํด๋ด์ผ์ง ๐ฅบ ๐ Fact ํ๋ก์ ํธ๊ฐ ๋คํํ ๋ฐฐํฌ๊น์ง ์ ๋ง๋ฌด๋ฆฌ๋์๋ค. ์๋ก์ด ํ์์๋ ํ์ฅ์ ์์ํ๋ค!.. ๐ ๋ฆฌ์กํธ ๋ค์ดํฐ๋ธ๋ฅผ ์๋กญ๊ฒ ๋ฐฐ์ฐ๊ธฐ ์์ํ๋ค. ๐ Feeling ํ๋ก์ ํธ๊ฐ ๋ฐํ๊น์ง ๋ง๋ฌด๋ฆฌ ์ ๋ง๋ฌด๋ฆฌ๋์ด์ ๋คํ์ด๋ค. ํ์๋ค๊ณผ๋ ๋ง์ด ์นํด์ก๋๋ฐ ์์ฝ..๐ฅบ ์๋ก์ด ํ์์๋ ํ์ฅ์ ๋งก๊ฒ ๋์๋ค. ๋ ์ด์ฌํ ํด๋ด์ผ์ง! ์ง๊ธ๊น์ง ์น๋ง ํ๋ค๊ฐ ๋ค์ดํฐ๋ธ๋ก ์ฑ์ ๋ค๋ฃจ๋๊น ์ฌ๋ฐ๋ค. ๐ Finding React Native Expo๋ก ์์ํ๊ธฐ React Native๋ก Todolist CRUD env ํ๊ฒฝ๋ณ์ ์ ์ฉํ๊ธฐ Rea..
Today, What I learned? ์น์ด๋ ์ฑ์ด๋ ์ด๋ค ์ ๋ณด๋ค์ ๋ก์ปฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅํด์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ์๋ค. ํฌ๋๋ฆฌ์คํธ๋ฅผ ์์ฐฝ ๋ง๋ค๊ณ ์์ผ๋ ์ด๊ฑธ ์์๋ก ๋ค์๋ฉด, ์๋ก๊ณ ์นจํ๊ฑฐ๋ ์ข ๋ฃ ํ ๋ค์ ์คํํ์ ๋ ์ ์ ์์ฑํ๋ ๋ฆฌ์คํธ๊ฐ ๋จ์์๋ ๊ฒ์ด ํ์! ๋ธ๋ผ์ฐ์ ์ ๋ก์ปฌ ์คํ ๋ฆฌ์ง๊ฐ ์๋ค๋ฉด, React Native์์๋ AsyncStorage๋ฅผ ์ด์ฉํด์ ์ ์ฅํด๋ณผ ์ ์๋ค. Async Storage ๊ณต์ ๋ฌธ์์ ๋ค์ด๊ฐ ๋ณด๋ฉด ์๋์ ๊ฐ์ ๋ด์ฉ์ด ์๋ค. Data storage system for React Native. ๋ฆฌ์กํธ ๋ค์ดํฐ๋ธ๋ฅผ ์ํ ๋ฐ์ดํฐ ์คํ ๋ฆฌ์ง! ์ ์ฅํ๊ฑฐ๋ ๋ถ๋ฌ์ค๋ ๋ฐฉ์์ด Local Storage๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ์๊ณผ ๊ฑฐ์ ํก์ฌํ๋ค. https://react-native-async-storage.g..
React Native ๋ฆฌ์กํธ ๋ค์ดํฐ๋ธ๋ ๋ฆฌ์กํธ๋ก ๋ชจ๋ฐ์ผ ์ฑ์ ๋ง๋ค ์ ์๋ ํ๋ ์์ํฌ๋ค. ๋ชจ๋ฐ์ผ ์ฑ์ ๋ง๋ค ์ ์๋ ๋ค์ํ ์ธ์ด์ ํ๋ ์์ํฌ๋ค์ด ์์ง๋ง, ๋ฆฌ์กํธ ๋ค์ดํฐ๋ธ๋ฅผ ์ฌ์ฉํ๋ ์ด์ ๋ ํฌ๊ฒ ๋ ๊ฐ์ง๋ค. ๋น์ฉ ์ ์ฝ ๋ฆฌ์กํธ ๋ค์ดํฐ๋ธ๋ ์๋๋ก์ด๋, iOS ๋ค์ดํฐ๋ธ ์ฑ์ One Source, ์ฆ ํ๋์ ์ฝ๋๋ก ๋์์ ๋ง๋ค ์ ์๊ธฐ ๋๋ฌธ์ ์ฌ๋ฌ ๋น์ฉ, ์๊ฐ ์ธก๋ฉด์์ ํฌ๊ฒ ์ ์ฝ๋๋ค. ๋ฎ์ ๋ฌ๋์ปค๋ธ ๋ค์ดํฐ๋ธ ์ญ์ ๋ฆฌ์กํธ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๊ธฐ ๋๋ฌธ์ ๊ธฐ์กด์ ๋ฆฌ์กํธ๋ฅผ ์ฌ์ฉํ ์ค ์๋ ์ฌ๋์ด๋ผ๋ฉด ๋น ๋ฅด๊ฒ ๋ฐฐ์ธ ์ ์๋ค. ๋ฆฌ์กํธ ๋ค์ดํฐ๋ธ์ ์ต๊ทผ ์ํคํ ์ฒ๋ ์๋์ ๊ฐ์ด ๋ณ๊ฒฝ๋์๋ค. React Native ํ๋ก์ ํธ ๋ง๋ค๊ธฐ ๋ฆฌ์กํธ ๋ค์ดํฐ๋ธ๋ก ํ๋ก์ ํธ ๋ง๋๋ ๋ฐฉ๋ฒ์ ์ฌ๋ฌ ๊ฐ์ง๊ฐ ์๋ค. ๊ณต์ ๋ฌธ์์์๋ ํฌ๊ฒ ๋ ๊ฐ์ง๋ฅผ ์๊ฐํ๊ณ ์๋ค...
ํ๋ก์ ํธ ์ ๋ ์ ๋ง๋ฌด๋ฆฌํ๋ฉฐ ์ง๋ 22์ผ๋ถํฐ ์ค๋ ๋ฐํ์ ์ด๋ฅด๊ธฐ๊น์ง ์งง์ ์๊ฐ ๋์ ํ๋ก์ ํธ๋ฅผ ์งํํ๊ณ ์์ฑํ๋ ๋ฐ์ ์ฑ๊ณตํ์ต๋๋ค. ๐ ์ข์๋ ์ ๋ ์์ฌ์ด ์ ๋ ์์ง๋ง ํ๋ก์ ํธ๋ฅผ ๋ง๋ฌด๋ฆฌํ๋ฉฐ ๊ฐ์์ KPT ํ๊ณ ๋ฅผ ์ทจํฉํด ๋ณด์์ต๋๋ค. Keep ์ผ์ ๊ด๋ฆฌ๋ฅผ ์ํ ์ ํ์ ๊ฐ์ ์ํต์ด ์ ๋ ์ ์๋ก ๋ถ์กฑํ ์ ์ด ์๋ค๋ฉด ํจ๊ป ๋์์ฃผ๋ ค๋ ๋ถ์๊ธฐ ๋ ธ์ ์ผ๋ก ํ๋ก์ ํธ๋ฅผ ๊ด๋ฆฌํ ์ ์๋ก ์ ์ ๋๋ ๋ถ๋ถ์ด ์๋ค๋ฉด ์ง๋ฌธํด์ ํด๊ฒฐํ๊ธฐ ์ค๋ ฅ๊ณผ ๊ด๊ณ์์ด ๊ณ์ ๋์ ํ๊ณ ์๋ํด ๋ณด๊ธฐ ์ฝ๋ ์ปจ๋ฒค์ ๋ฐ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ ๋ํด ์ธ๋ถ์ ์ผ๋ก ์๋ ผํ ์ Problem PR์์ ์ฝ๋๋ฆฌ๋ทฐ๋ฅผ ํ์ง ๋ชปํ ์ , ์ฃผ์์ด ๋ถ์กฑํ์ฌ ๋ค๋ฅธ ํ์์ ์ฝ๋๋ฅผ ์ดํดํ๊ธฐ ์ด๋ ค์ ๋ ์ ์ผ๋ถ ํ์์ ๊ฒฝ์ฐ ์ฃผ์ด์ง ๊ธฐ๋ฅ์ ์จ์ ํ ์ํํด๋ด์ง ๋ชปํ ๊ฒ์ ๋ํ ์์ฌ์ ๋ฐฐํฌ ์ ํ์ ์..
ํ๋ก์ ํธ๋ฅผ ๋ง์น๋ฉฐ ์ฃผ๋ง์ ๋ ํฌ๋ฆฌ์ค๋ง์ค๋ฅผ ํฌํจํ ๋ฑ 7์ผ!.. ์ ํํ๋ 6์ผ๊ฐ์ ํ๋ก์ ํธ๊ฐ ๋์ด ๋ฌ๋ค. ๋ฌด์ฌํ ๋ฐฐํฌ๊น์ง ๋ง์ณค๋ค๋ ์ ์์ ์์ฃผ ๋คํ์ค๋ฝ๊ฒ ์๊ฐํ๊ณ ์ฐ๋ฆฌ ํ์๋ค ๋ชจ๋ ๊ณ ์ํ๋ค. ์ด๋ฒ ํ๋ก์ ํธ๋ ์ญ์ ๊ฐ์ธ์ ์ธ ํ๊ณ ๋ฅผ ํด๋ณด๋ ค ํ๋ค! ์ฐ๋ฆฌ์ ํ๋ก์ ํธ๋ ์๋ ๋งํฌ์์ ํ์ธํด๋ณผ ์ ์๋ค. https://soolung-project.vercel.app/ ์ ๋ ์ ๋ soolung-project.vercel.app ๊ฐ์ธ์ ์ผ๋ก ์์ฌ์ ๋ ์ ์ด๋ฒ์๋ ๊ฐ์ธ์ ์ผ๋ก ์์ฌ์ ๋ ์ ์ ํํฐ๋์ ํผ๋๋ฐฑ์ ๋ฐํ์ผ๋ก ์ ๋ฆฌํด ๋ณธ๋ค. ๊ฒ์๊ธ ์์ฑ ํ ๊ฐฑ์ ๋ด๋นํํธ๋ ์๋์์ง๋ง ํจ๊ป ๋ก์ง์ด ์ง์ด๋ ๊ฒ์ ์ง์ผ๋ณด๊ณ ์ฐธ์ฌํ๋ ์ ์ฅ์ผ๋ก์.. ์์ฑ๋ ํ ๊ธ์ด ๋ฐ๋ก 1ํ์ด์ง์ ๋จ์ง ์๊ณ ๋ง์ง๋ง ํ์ด์ง๋ก ๋ค์ด๊ฐ๋ค๋ ๊ฒ์ ์๊ฒ ๋์๋ค. ํ์ธํด๋ณด๋..
Comment