일반적으로 FlexGrid는 사용자가 그리드를 통해 변경하는 내용으로 기본 데이터 배열을 업데이트합니다. 이 접근 방식은 Redux와 같이 데이터 불변성이 필요한 상태 관리 시스템에서는 사용할 수 없습니다.
이 문제는 ImmutabilityProvider 확장 컴포넌트를 사용하여 해결할 수 있습니다. 이 컴포넌트는 FlexGrid 컨트롤에 연결되고 Redux Store의 데이터 배열에 바인딩되면 다음과 같은 방식으로 그리드 동작을 변경합니다.
사용자가 평소 하던 방식(항목 값 변경, 행 추가/삭제, 텍스트 붙여넣기 등)대로 그리드를 통해 데이터를 편집할 수 있도록 허용합니다. 정렬, 그룹화, 필터링과 같은 모든 데이터 변환 작업도 허용됩니다.
그리드가 사용자 편집에 반응하여 기본 데이터 배열을 변경하지 않도록 합니다. 대신에 dataChanged 이벤트를 트리거합니다. 이 이벤트는 데이터 변경 작업을 Redux Store로 디스패치하는 데 사용할 수 있습니다.