์ด๋ค ์๋ฌ? ํ๋ซ๋ฆฌ์คํธ๋ฅผ ์ฌ๋ฌ ๊ฐ ์ฌ์ฉํ๋ ค๋ค ๋ณด๋ ์๋์ ๊ฐ์ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค. ERROR A VirtualizedList contains a cell which itself contains more than one VirtualizedList of the same orientation as the parent list. You must pass a unique listKey prop to each sibling list. ํ๋ซ๋ฆฌ์คํธ๊ฐ ์ค์ฒฉ๋์ง ์๊ณ ์ฌ๋ฌ๋ฒ ์ฐ์ผ ๋ ๋ชจ๋ ํ์ ๋ฆฌ์คํธ์๊ฒ ํค๊ฐ์ด ํ์ํ ๊ฒ ๊ฐ์๋ค. ์ฌ์ค ์๋ฌ์์ ๋ต์ ์ฃผ๊ณ ์์์ง๋ง listKey๊ฐ keyExtractor์ ์ฐ๊ด์ด ์๋์ค ์๊ณ ๋ง์ ์ฝ์ง์ ํ๋ค (...) key๊ฐ ์ ๋ํฌํ ๊ฐ์ด ์๋์ด์ ๊ทธ๋ฐ๊ฐ? ์ถ์ด์ ์ด๋ฐ ์ฝ์ง๋ค์ ํ์๋ค. ..
Today, What I learned? ํ๋ก์ ํธ ์ค!.. api์์ ๊ฐ์ ธ์ค๋ xml ๋ฐ์ดํฐ๋ฅผ JSON ๋ฐ์ดํฐ๋ก ๋ณํํ๊ธฐ ์ํด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ ๊ณผ์ ์ ์ ๋ฆฌํด ๋ณธ๋ค. ๋จผ์ ์ฌ์ฉํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ด๊ฒ์ด๋ค. https://github.com/connected-io/react-native-xml2js GitHub - connected-io/react-native-xml2js: XML to JavaScript object converter. XML to JavaScript object converter. Contribute to connected-io/react-native-xml2js development by creating an account on GitHub. github.com ๋ณํํ๊ธฐ const p..
์๋ฌ ๋ฐ์ ๋ฉ์ฉกํ ์ ๋๊ณ ์๋ expo ์๋ฒ๊ฐ ๊ฐ์๊ธฐ yarn start ํ๋ ์๋ ์ค๋ฅ๋ฅผ ๋ด๋ฉด์ ์ข ๋ฃ๋์๋ค. node:events:505 throw er; // Unhandled 'error' event ^ Error: EMFILE: too many open files, watch at FSWatcher._handle.onchange (node:internal/fs/watchers:204:21) Emitted 'error' event on NodeWatcher instance at: at NodeWatcher.checkedEmitError (/Users/yjlee/project/intermission/node_modules/sane/src/node_watcher.js:143:12) at FSWatche..
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('');..
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 ํ๋ก์ ํธ ๋ง๋ค๊ธฐ ๋ฆฌ์กํธ ๋ค์ดํฐ๋ธ๋ก ํ๋ก์ ํธ ๋ง๋๋ ๋ฐฉ๋ฒ์ ์ฌ๋ฌ ๊ฐ์ง๊ฐ ์๋ค. ๊ณต์ ๋ฌธ์์์๋ ํฌ๊ฒ ๋ ๊ฐ์ง๋ฅผ ์๊ฐํ๊ณ ์๋ค...
Comment