๐ ํํ ๋ฆฌ์ผ์ ๋ฐ๋ผํ ํ๋ก์ ํธ์ ๋๋ค!
<TodoList todos={todos} />
์ฃผ์์ฌํญ
todos๋ ํ ์ผ ๋ชฉ๋ก์ ๊ฐ์ฒด๊ฐ ๋ด๊ธด ๋ฐฐ์ด์ ๋๋ค. ๋ฐ๋ผ์ TodoList์ปดํฌ๋ํธ์์ TodoListItem ์ปดํฌ๋ํธ๋ก ์ ๋ฌ ํ ๋์๋ ๋ฐฐ์ด์ ๋ด๊ธด ๊ฐ์ฒด ํ๋ํ๋๋ฅผ ๋๊ฒจ์ค์ผํฉ๋๋ค.
const TodoList = ({todos}) => {
return (
<ScrollView contentContainerStyle={styles.listContainer}>
{todos.map(todo => (
<TodoListItem {...todo} />
))}
</ScrollView>
);
};
map() ํจ์๋ฅผ ์ด์ฉํด์ todos์ ๋ด๊ธด ์์ดํ ์ ํ๋์ฉ TodoListItem ์ปดํฌ๋ํธ๋ก ์ ๋ฌํฉ๋๋ค. ์๋ฐ์คํฌ๋ฆฝํธ์ ๋์คํธ๋ญ์ฒ๋ง(destructuring) ๋ฌธ๋ฒ์ ์ด์ฉํ๋ฉด TodoListItem ์ปดํฌ๋ํธ์์ ์์ดํ ๊ฐ์ฒด์ ๋ด๊ธด ๊ฐ๋ค์ ๋ฐ๋ก ๋ฐ์ ์ ์์ต๋๋ค.
const TodoListItem = ({textValue, id, checked}) => {
return (
<View style={styles.container}>
<TouchableOpacity>
<View style={styles.completeCircle}>
<View style={styles.completeCircle}>
<Icon name="circledowno" size={30} color="#3143e8" />
</View>
</View>
</TouchableOpacity>
<Text style={[styles.text, styles.strikeText]}>{textValue}</Text>
<TouchableOpacity style={styles.buttonContainer}>
<Text style={styles.buttonText}>
<Icon name="delete" size={30} color="#e33057" />
</Text>
</TouchableOpacity>
</View>
);
};
์ค๋ช
๊ทธ๋ฐ๋ฐ ์๋ฎฌ๋ ์ดํฐ ํ๋จ์ ๊ฒฝ๊ณ ์ฐฝ์ด ๋จ๋ ๊ฑธ ๋ณผ ์ ์์ต๋๋ค. ๊ฒฝ๊ณ ๋ฌธ๊ตฌ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
Each child in a list should have a unique 'key' prop.
์ฆ, ๋ฆฌ์คํธ์ ์๋ ์์ดํ ๊ฐ์ฒด๋ง๋ค ๊ณ ์ ํ key๊ฐ์ด ํ์ํ๋ค๋ ๋ง ์ ๋๋ค.
์์ ์๋ก์ด ์์ดํ ๊ฐ์ฒด๋ฅผ ์์ฑํ ๋ ๋๋ค์ผ๋ก id ๊ฐ์ ๋ง๋ค์ด์ค ๊ฒ์ ๊ธฐ์ตํ์๋์? id ๊ฐ์ ๋ง๋ค์ด ์ค ์ด์ ๊ฐ ๋ฐ๋ก ์ฌ๊ธฐ ์์ต๋๋ค. ๋ฆฌ์คํธ์ ์์ดํ ์ ์ถ๋ ฅํ ๋์๋ ๊ฐ ์์ดํ ์ ๊ณ ์ ๋ฒํธ๋ฅผ key ๊ฐ์ผ๋ก ์ฃผ์ด์ผ๊ธฐ ๋๋ฌธ์ ๋๋ค. (์ ํฌ๋ ๊ฐ๋จํ๊ฒ Math.random()์ผ๋ก id๋ฅผ ๋ง๋ค์์ง๋ง, ์ด๋ ์ค๋ณต๋ ๊ฐ๋ฅ์ฑ์ด ์์ต๋๋ค. ๋ฐ๋ผ์ ์ค์ ์๋น์ค๋ฅผ ๋ง๋ค ๋์๋ uuid์ ๊ฐ์ ํจํค์ง ๋ฑ์ ์ด์ฉํ์ฌ ์ค๋ณต๋์ง ์๋ id๋ฅผ ์์ฑํด์ผํฉ๋๋ค.)
TodoList ์ปดํฌ๋ํธ๋ก ๋์๊ฐ์ TodoListItem์ id ๊ฐ๋ ๊ฐ์ด ๋๊ฒจ์ฃผ๊ฒ ์ต๋๋ค.
<ScrollView contentContainerStyle={styles.listContainer}>
{todos.map(todo => (
<TodoListItem key={todo.id} {...todo} />
))}
</ScrollView>
Error: Unable to resolve module `./debugger-ui/debuggerWorker.cff11639.js` from ``:
์ด๋ฐ ์๋ฌ๊ฐ ๋๋ฉด
npm install @react-native-community/cli-debugger-ui --save
์ด ๋ช
๋ น์ด