현재 접근 방식은 전체 도서 목록을 도서 목록 구성 요소에 연결하는 것입니다. 그러나 상태의 여러 필드 만 변경하여 거대한 구성 요소를 렌더링하는 것은 효율적이지 않습니다. 각 도서 구성 요소를 매핑하는 방법을 모르면 각각의 도서 상태에 연결하십시오.어떻게 반응 redux를 사용하여 배열의 각 요소를 개별적으로 연결
프로젝트에서 redux를 사용 중입니다. 도서 목록 구성 요소에서이
{
"books": [
{
"field1": "field1",
"field2": "field2",
"field3": "field3",
} ...
]
}
같은 응용 프로그램 전역 상태, 우리는 REDUX
export default connect(state => ({
books: state.books
}))(BookListComponent);
는 이제 요구 사항 변경이 책의 필드가 자주 변경되지 않습니다 반응 사용하여 그것으로 목록을 연결합니다. 문제는 한 필드가 변경되면 전체 BookListComponent를 업데이트한다는 것입니다. 그것은 내가 기대하고있는 실행 요소가 아닙니다.
내가
reselect
를 사용하기 위해 국가는 나는 그것이 작동하도록 연결 작성하는 방법을 잘 모릅니다, 책의 인덱스가 나던 개별 예약 구성 요소까지 연결 논리를 밀어 싶습니다
export default connect(state => ({
books[index]: state.books[index]
}))(BookListComponent);
미리 감사드립니다. 모든 옵션을 환영합니다.
도서 목록을 '키'소품으로 렌더링하면 걱정할 필요가 없습니다. 상품이 추적되어 그에 따라 업데이트됩니다. 그런 다음 책을 다시 렌더링하지 말아야하는 경우를 알려주는'Book' 컴포넌트에 대해 shouldComponentUpdate 함수를 작성할 수 있습니다. –