1 / * *
2 - 오늘 우리는 ES6 문법, 새로운 기능에 의해 우리의 할 일 목록을 최적화하고 반응
3 - 또한, 키의 마지막 버전이 오류의 문제를 해결하기 위해
4 * /
1 / * *
2 - 우리는 개체의 속성을 필요로 할 때 코드가 원래의 객체에 의해 재산을 취득 할 수있는 후속 호출을 중지해야하지 않도록, 우리는 destructuring 할당을 사용할 수 있습니다
. 3 - CONST = {}는이 인덱스입니다. 소품 ----->이 과제의 해체는 직접 인덱스를 사용 this.props.index 동일한 범위는 후속 사용된다.
. 4 - item.js 코드는 다음과 같이 수정 된 코드는 여기에 설명되지 app.js하고 수정한다.
. 5 * /
6.
7. 임포트 단편의 성분은 {} '반응'반작용 ]
. 8
. 9 개 클래스가 컴포넌트 {항목 확장
10 deletItem = () => {
. 11 CONST deletItem {} = 인덱스 이 .props 단계; // 할당 destructuring
12 deletItem (지수)
13이다 }
14 () {렌더링
15 CONST {} = 값 이 .props 단계; // 解构赋值
16 창 (
17 <조각>
18 < DIV
19 의 onclick = { 이 .deletItem}
20 >
21 {값}
22 </ div>
23 </ 조각>
24 )
25 }
26 }
27
28 수출 기본 상품
. (1) / * *
2 - setState를 이전 버전 제공 반응 () 메소드, 객체만을 수신 할 수있다.
3 - 새로운 버전 setState를이 ()는 함수가 나타날 수있는 반응과 기능은 기본 인수 PrevState가
4 - PrevState 전에 수정되지 않은 상태를 표현, 그것은 우리가 this.state를 이동 한 다음 시간을 사용하지 않아도 말을하는 것입니다 속성을 가져옵니다
(5). - 원래의 코드에 더 추출에 대한 논리적 인 기능을 사용하여 우리의 함수는 함수 부분과 지금, 너무 긴 렌더링에 기록 된
6. - 항목 어셈블리의 도입 이후 시간에 사용 문제 지정된 키 값을 주소 그리고 지금 우리가 인덱스를 사용, 각 항목에게 키 바인딩을 제공
(7) - 우리는 후속 가상 DOM 시간을 설명하고 우리가 키 할당을 제공하기 위해 개발 된 인덱스를 사용하지 않는 이유를 다음 설명한다.
8 - 이제 우리 app.js, 다음 코드를 최적화하기 위해이 기능을 사용합니다.
. 9 * /
10 가져 부품 {} '반응'조각에서 반작용 ]
. 11 로부터 항목 './item.js'
(12)
(13)가되는 클래스 {앱 상기 구성 요소를 확장
14 생성자 (버팀대) {
15 초 (버팀대)
(16) 이 본 .STATE = {
17. inputValue의 경우 : ',' // 값을 저장된 값 입력 상자.
(18)은 목록 [] // 각 값의 값을 저장하는 리.
. (19) }
(20)이다 }
21는 handleInputChange = (E) => {
22 CONST 값 = ; e.target.value
23는 이것을 (값}) ({inputValue의 대 () =>) .setState가 // setState를 새에 반응 () 함수는 함수를받을 수 있고,이 함수는 소포 생략 돌아갈 수 () 함수 본문 화살표를 사용하여
24 }
25 addList = () => {
26 인 이 본을.setState ((PrevState)은 => { // setState를 PrevState 함수는 파라미터를 제공하는 반면, this.state이 파라미터를 변경하기 전에 나타내는
27 CONST 목록 = [... prevState.list, prevState.inputValue]
28 반환 {
29 에서,
30 inputValue의 경우 : ' // 첨가 입력 블록 비우는 완료된 후
31 }
32 })
33이다 }
34는 deletListItem = (인덱스) =>을 { // 때문에 바인드 기능의 사용의 결합 공정이있을 때 이 함수를 가리키는 화살표가있다하도록 실용적이지
35 이 .setState ((PrevState) => {
36 목록 =하자가 [... prevState.list]
37 list.splice (인덱스 ,. 1 )
38 인 창 {목록}
39 })
(40) }
(41)이다 // 원래 코드 우리 함수는 논리 부는 현재 기능으로 매핑하는 데 사용되며, 너무 긴 렌더링 작성된
42 인 준 getItem가 = () => {
43은 창 (
44 인 이 본 .state.list.map ((아이템, 인덱스) => {
45 창 (
46 인 < 아이템
(47) 키 인덱스 = {} // 키 값 문제를 해결한다.
48 값 = {} 아이템
49 지수 = {} 인덱스
50 deletItem = {이 .deletListItem}
51 > </ 항목>
52 )
(53) })
54 )
55 }
56 (렌더링) {
57 창 (
58 <조각>
59 <div>
60 < 입력
(61) 의 onChange = { 이 .handleInputChange}
62 값 = { 이 .state.inputValue}
63 />
64 <버튼의 onclick = { 이 .addList}>提交</ 버튼>
65 </ div>
66 <UL>
67 { 이 본 .getItem () {} / * * 논리 함수 호출의 호출 클릭 밖으로. * / }
68 </ UL>
69 </ 조각>
70 ),
(71)이다 }
72 }
(73)은 내보내기 기본 앱;