2016-07-05 1 views
2

기본 동작인지 또는 redux인지 또는 그 밖의 것이 있는지는 모르겠지만 액션을 전달할 때이 동작이 모든 reducers를 통과한다는 것을 알았습니다 (그래도 괜찮아요)하지만 모든 감속기의 연결 리스너를 호출하여 결과적으로 해당 구성 요소를 렌더링합니다. 즉, 모든 발송시 앱 상태 트리의 모든 구성 요소가 렌더링됩니다. 이것은 고의적으로 redux에 의해 행해지 는가 또는 나는 무언가를했다. 이 문제를 명확히 설명해주세요.하나만 렌더링해야하는 경우에도 모든 구성 요소가 렌더링 됨

답변

1

Redux에서는 상태가 글로벌이고 redux가 처리합니다. 작업을 전달할 때마다 전역 상태를 설정하는 것입니다. 귀하의 컨테이너 구성 요소는 새로운 상태를 받고 감속기가 작동하지만 이전 상태와 다음 상태가 동일하기 때문에 구성 요소가 다시 렌더링되지 않습니다.

만 그 구성 요소는 그 mapStatetoProps 다른 결과

2

발생이 문제가 완전히 괜찮 렌더링 될 것이다. 자신의 가상 DOM 개념에 대한 React Docs를 참조하십시오

가 반응하는 브라우저에서 렌더링 된 DOM 하위 트리의 설명이다 가상 DOM, 사용합니다. 이 병렬 표현은 React가 DOM 노드를 생성하지 않고 기존 노드에 액세스하는 것을 피할 수있게 해줍니다. 이는 JavaScript 객체의 작업보다 느립니다. 구성 요소의 소품 또는 상태가 변경되면 React는 새 가상 DOM을 생성하고 이전 가상 DOM과 비교하여 실제 DOM 업데이트가 필요한지 여부를 결정합니다. 그들이 동등하지 않은 경우에만 가능한 한 적은 돌연변이를 적용하여 DOM을 조정합니다.

따라서 작업을 보낼 때마다 모든 구성 요소가 다시 렌더링된다는 점에 대해 걱정할 필요가 없습니다.

관련 문제