나는 만약 내가 궁금해서 작품을 연결하는 '돌아 오는 방법을 이해하기 위해 노력하고있어 :돌아 오는 연결하고 mapStateToProps는
- 매번 새로운 소품 또는
- 갱신 기존 구성 요소의와 상태 변화를 새로운 구성 요소를 만듭니다 상태
만약 이것이 후자 인 경우, 이것은 불변 소품의 철학에 반하는 것이 아닙니까? 소품을 어떻게 업데이트합니까?
나는 만약 내가 궁금해서 작품을 연결하는 '돌아 오는 방법을 이해하기 위해 노력하고있어 :돌아 오는 연결하고 mapStateToProps는
만약 이것이 후자 인 경우, 이것은 불변 소품의 철학에 반하는 것이 아닙니까? 소품을 어떻게 업데이트합니까?
불변의 props에 대한 React의 철학은 구성 요소 자체 내부에서 소품을 업데이트하지 않아야 함을 의미합니다. 부모 구성 요소의 구성 요소에 새 속성 값을 전달할 수 있습니다. 이것이 componentWillReceiveProps 메소드가 존재하는 이유입니다.
기본적으로 반응 구성 요소는 props를 수신하고 HTML을 렌더링합니다. 구성 요소 은이 로컬 상태를 사용할 수 있지만 Redux를 사용하면 일반적으로 필요하지 않습니다. Redux는 단일 상태 개체의 모든 상태를 관리하며 연결 방법을 사용하여 전역 Redux 상태의 일부를 반응 구성 요소에 '연결할'수 있습니다. 그런 다음 해당 구성 요소 내부의 소품으로 사용할 수 있습니다.
귀하의 질문에 대답 : 대답 1과 2는 맞지 않습니다. 연결을 사용하여 구성 요소에 연결하면 상태를 소품으로 전달합니다. 구성 요소에는 상태가 없습니다 (자신의 로컬 상태를 작성하지 않는 한) 소품 만 사용합니다. redux 상태의 해당 부분이 변경되면 이러한 소품이 업데이트됩니다.
빠른 답변입니다. 그래서 기존의 앱에 React를 통합하고 있기 때문에 Redux는 지금 옵션이 아닙니다. 구성 요소 외부에서 소품의 업데이트를 모방하는 올바른 방법은 무엇입니까? –
반응 구성 요소를 렌더링 할 때마다 동적 소품 (즉, vaiable)을 전달할 수 있습니다. 소품을 변경할 때마다 구성 요소의 다음 방법을 순서대로 호출되는 것이다 1)'componentWillReceiveProps을()' 2)'shouldComponentUpdate()가' 3)'componentWillUpdate()가' 4)'렌더링()' 5)'componentDidUpdate()' 기본 구성 요소의 경우에만 render 메소드가 필요합니다. –
제대로 이해한다면 렌더링 방법에서 "새 구성 요소 만들기"를 선택하고 기존 구성 요소가 있다면 단순히 소품 만 업데이트 할 것입니까? –