PureComponenet에서 확장하여 자식 구성 요소를 불필요하게 다시 렌더링 (검토)하지 않으려합니다.PureComponent의 shallowCompare가 예상대로 작동하지 않습니다.
이 구성 요소는 PureComponent가 아닌 상위 구성 요소 (리뷰)에서 호출되고 있습니다.
디버깅을 통해 리뷰 중 하나가 변경 될 때마다 해당 제품과 관련된 모든 리뷰가 다시 렌더링되는 것을 볼 수 있습니다. 분명히 리뷰 소품은 업데이트되고 개별 리뷰의 관련 소품이 개별 검토 구성 요소로 전달됩니다. 나는 또한이 메시지가 표시되는 ,
nextProps.reviewer === this.props.reviewer_info -> false
nextProps.reviewer_info = []
this.props.reviewer_info = []
나는 pureComponent, 2 개 빈 배열을 비교하면서 shallowCompare하고 true를 돌려 사용하는 올바른 것입니다 있다고 생각?
내 자식 구성 요소의 불필요한 렌더링을 막으려면 부모 구성 요소가 PureComponent 일 필요가 있습니까? 그게 빠진 부분 이니?
내 검토 구성 요소에는 다른 하위 구성 요소가 있으며, pureComponents로 선언해야합니다. (부품을 업데이트 하겠지만, 검토 컴포넌트가 pureComponent의 이점을 얻지 못하도록합니까?)
이상은 pureComponent를 사용하더라도 올바른 렌더링 이유가 아니며 다른 부분이 누락 되었습니까?
내가 아는 한 가지는 필자의 사용 목적에 Pure Component를 사용하지 않는 것입니다. "검토 상태로 유지함으로써"당신은 글로벌 상태 (일명 상점)를 의미합니까? 또는 지방의 상태? –
나는'Review'의 로컬 상태를 참조하고 있었지만 매번 새로운 배열을 계산하지 않는 한 부모의 상태 또는 redux 저장소가 수행합니다. – Oblosys