1. 분할하여 ToDoList
서면 TodoList.js 만들기
가져 오기 '반응'에서 {구성 요소, 조각}, 반작용;
'./TodoItem'에서 수입 ToDoItem을;
클래스하여 ToDoList은 구성 요소 확장
{
생성자 (소품) {
슈퍼 (소품);
this.state = {inputValue의은 '', 목록은 []}
}
{() 렌더링
창 (
<조각>
텍스트 '값 = {this.state.inputValue의 onChange = {this.inputChange.bind (<input 타입 =} 이)} />
<버튼의 onclick = {this.addClick.bind (이)}>提交</ 버튼>
<UL>
{
this.state.list.map ((값, 인덱스) =>
리턴 (
<가 ToDoItem 값 = {} 인덱스 값 = {} itemDelete 지수 = {this.itemDelete.bind (이)} />
);
})
}
</ UL>
</ 조각>
);
}
inputChange (E) {
this.setState ({inputValue의 : e.target.value});
}
addClick () {
this.setState ({
목록 : ... this.state.list, this.state.inputValue]
inputValue의 ''
})
}
itemDelete (색인) {
CONST 목록 = ...이. state.list];
list.splice (인덱스 1);
this.setState ({목록 : 목록});
}
}
수출 기본하여 ToDoList
서면 TodoItem.js 만들기
#의 TodoItem.js
'반응'컴포넌트 {에서} 수입, 반응하여
(가) 컴포넌트 {확장 클래스가 ToDoItem
생성자 (버팀대) {
슈퍼 (소품을)
}
렌더링 () {
// .props 전달 된 파라미터를 사용하여 표현
(리턴
<div의 onclick = {은이. delete.bind (이 본)}>} {this.props.value </ div>
)
}
{) (삭제
// 전달 요소 메소드 호출
this.props.itemDelete (this.props.index);
}
}
내보내기 기본 ToDoItem을;