아래 코드는 App.jsx 코드이고, 최상위 파일이다. 즉 , 부모 컴포넌트가 되어 자식 컴포넌트에게 props를 넘겨준다. 그리고 import로 자식 컴포넌트의 리턴값들을 받아온다.
import { useState } from 'react';
import './App.css';
import Header from './component/Header';
import Input from './component/Input';
import List from './component/List';
function App() {
//---- 코드 생략------//
return (
<div className="main">
<Header /> //Header,Input,List의 자식 컴포넌트에게 props를 넘겨주었다.
<Input
title={title}
onTitleHandler={onTitleHandler}
desc={desc}
onDescHandler={onDescHandler}
clickAddButtonHandler={clickAddButtonHandler}
/>
<List
list={list}
setList={setList}
/>
</div>
);
}
export default App;
List라는 컴포넌트를 만들었고, 그 코드의 일부이다. 이 코드 역시 부모 컴포넌트가 되어 Edit컴포넌트로 props를 넘겨주었다.
import React from 'react';
import Edit from './Edit';
const List = ({ list,setList}) => { //부모 컴포넌트로 부터 props를 구조분해 할당으로 받아왔다.
return (
<div>
<div className="wd">Working.. 할 일을 추가해보세요!✨</div>
<div className="backTodoList">
{list.map((item) => {
if (!item.isDone) {
return (
<Edit key={item.id} //Edit 자식 컴포넌트에게 props로 넘겨주었다.
list={list}
item={item}
setList={setList}
/>
);
}
})}
</div>
</div>
);
};
export default List;
.test {
cursor: pointer;
}
.test {
flex-wrap: wrap;
}
<input placeholder='할 일을 입력 해주세요!' type="text"></input>