변경 상태 또는 소품 부품이 부품 재 렌더링을 일으킬 수 반작용 후, DOM이 때 상응하는 변화가있을 것이다. 아니라 이전 포스트에서 설명한 방법을 렌더링 할 때 DOM 렌더링 방법. 물론, 단지이 방법은 충분 아, 아닙니다! 당신은 매우 효율적인 개발을 할 수 있도록, 표창, 개발자들은 반응하는 구성 요소 라이프 사이클의 개념이,이를 위해, 제어 어셈블리의 여러 단계의 실제 개발해야합니다.
기본 반작용 구성 요소를 들어, 업데이트, 초기화 마운트에 반응에 각 구성 요소의 수명주기를 넣어 네 단계를 제거 할 수 있습니다, 네 단계에서 다른 접근 방식은 개발자가 충분 촉진하기 위하여 반작용 제공 제어 구성 요소를 제어 할 수 있습니다.
- 어셈블리 초기화 단계에있어서 : getDefaultProps () getInitialState ();
- 컴포넌트 단계를 로딩하는 방법은 : componentWillMount () (렌더링) componentDidMount ();
- 업데이트 된 구성 요소의 방법 shouldComponentUpdate () componentWillUpdate ()는 ()) ()을 componentWillReceiveProps componentDidUpdate을 (렌더링;
- 어셈블리 제거 방법 : componentWillUnmount ();
참고 : 개발자가 업데이트 단계를 사용하는 사용하는 초기 렌더링 방법에 있으면 안 있도록 방법을 업데이트하는 렌더링 프로세스의 초기 단계입니다 사용할 수 없습니다 조립 단계를 마운트 단계 구성 요소 업데이트에서 이러한 메소드를 호출하지 않습니다 이것은 매우 현명하다.
반환 값이 구성 요소는 계속 업데이트됩니다 true의 경우, 반환 값이 false 인 경우 shouldComponentUpdate () 메소드는 (), componentWillUpdate는 (), 렌더링이 시간에, 즉,이 구성 요소는 업데이트되지 않습니다, 반대로, 부울 값을 반환해야합니다 componentDidUpdate () 메서드가 호출되지 않습니다.
수명주기의 개념을 이해하려면, 당신은 더 나은 설명하기 위해 코드를 사용할 수 있습니다 :
App.js
// 도입은 반응 가져 오기, 구성 요소 {} 반작용 에서이 ' 반응 ' ; // 도입 스타일 파일 가져 오기 ' ./App.css ' ; // 건설 APP 클래스 클래스는 앱 (가) 구성 요소 {확장 생성자 () { ; 슈퍼 () // 정의 초기화 상태 이 본 .STATE = {상품명 : 1,234 } } // 조립체가 장착 될 componentWillMount () { CONSOLE.LOG ( ' willMount ' ); } // 마운트의 조립이 완료된다 componentDidMount () { 합니다 (CONSOLE.LOG를 'didmount ' ) } // 구성 요소를 업데이트해야하는지 여부를 shouldComponentUpdate () { 을 console.log ( ' shouldupdate ' ) 반환 true로는 ; } // 구성 요소가 업데이트됩니다 componentWillUpdate () { 을 console.log가 ( ' 업데이트됩니다 ' ); } // 업데이트를 완료 조립 componentDidUpdate () { 을 console.log ( ' didupdate이 ' ); } // 방법은 렌더링 정의 () {렌더링 을 console.log를 ( ' 렌더링 '); 창 ( <div 클래스 명 = " 애플리케이션 " > <input 타입 = " 버튼 " 의 onclick = {() => { 이 .setState ({상품명 : 2,345 })}} 값 = " 변경 " /> </ div> ); } } 수출 기본 응용 프로그램;
초기 효과는 브라우저에서 버튼을 클릭하지 않았다 :
결과가 호출되지 않은 구성 요소 업데이트 위상 방법에서 볼 수 있습니다
이 어셈블리가 다시 렌더링하게됩니다, 주 어셈블리가 변경 버튼을 클릭합니다