[React 톺아보기] 4. 컴포넌트(3) 컴포넌트 순수성React2024. 3. 3. 22:14
Table of Contents
728x90
반응형
이번 포스팅에서는 목록 렌더링과 컴포넌트의 순수성에 대해 다루어 보겠습니다. 이번 포스팅도 단순히 컴포넌트의 순수성에 대한 내용을 다루지는 않습니다. 컴포넌트 포스팅에서 다루었던 내용을 바탕으로 컴포넌트 순수성에 대해서 다루어 보겠습니다.
컴포넌트의 단일 책임!
컴포넌트 안에서 변수, 배열들의 변화 x
불변성 유지!
이후에 배울 이벤트 핸들러, 상태 관리에 대한 개념 언급!
let todolists = [{
id: 1, //JSX에서 key로 사용됨.
name: "예외 처리하기",
done: true
}, {
id: 2,
name: "계층 구조 설계하기",
done: true
}, {
id: 3,
name: "UI 구현하기",
done: true
}, {
id:4,
name: "사용자와 상호 작용을 변수 설정",
done: false
}
]
function TodoListBox() {
return (
<div className='todoListBox'>
{todolists.map(todo => (
<Task key={todo.id}
id={todo.id}
name={todo.name}
done={todo.done}
color="green"
></Task>
))}
</div>
)}
전체 코드
더보기
import React from 'react';
import './todoMain.css'
function Task({ id, name, done = true, color }) {
return (
done ? <div><del style={{ color: color }}>{id}. {name}</del></div> :
<div style={{ color: color }}>{id}. {name}</div>
);
}
let todolists = [{
id: 1, //JSX에서 key로 사용됨.
name: "예외 처리하기",
done: true
}, {
id: 2,
name: "계층 구조 설계하기",
done: true
}, {
id: 3,
name: "UI 구현하기",
done: true
}, {
id:4,
name: "사용자와 상호 작용을 변수 설정",
done: false
}
]
function TodoListBox() {
return (
<div className='todoListBox'>
{todolists.map(todo => (
<Task key={todo.id}
id={todo.id}
name={todo.name}
done={todo.done}
color="green"
></Task>
))}
</div>
)}
function TodoMain() {
return (
<div className='todoMainBox'>
<TodoListBox />
</div>
)
}
export default TodoMain;
728x90
반응형
'React' 카테고리의 다른 글
[React 톺아보기] 6. 상태 관리(1) - useState (0) | 2024.03.07 |
---|---|
[React 톺아보기] 5. 이벤트 핸들러 (0) | 2024.03.03 |
[React 톺아보기] 4. 컴포넌트(2) 컴포넌트에 props 전달하기 (0) | 2024.02.28 |
[React 톺아보기] 4. 컴포넌트(1) 컴포넌트 렌더링 (0) | 2024.02.27 |
[React 톺아보기] 3. JSX란? (0) | 2024.02.27 |
@BE_개발자 :: 경이로운 개발일기
경이로운 BE 개발자가 되기 위한 프로그래밍 공부 기록장
도움이 되었다면 "❤️" 또는 "👍🏻" 해주세요! 문의는 아래 이메일로 보내주세요.