구성 요소 라이프 사이클 반응

   변경 상태 또는 소품 부품이 부품 재 렌더링을 일으킬 수 반작용 후, 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> 
            
        ); 
        
        
        
    } 
} 



수출 기본 응용 프로그램;

초기 효과는 브라우저에서 버튼을 클릭하지 않았다 :

결과가 호출되지 않은 구성 요소 업데이트 위상 방법에서 볼 수 있습니다

이 어셈블리가 다시 렌더링하게됩니다, 주 어셈블리가 변경 버튼을 클릭합니다

 

추천

출처www.cnblogs.com/jiguiyan/p/11227307.html