FlexGrid normally updates the underlying data array with the changes made by a user via the grid. This approach doesn't work with state managements systems like Redux, which require the data immutability.
This problem can be solved by the ImmutabilityProvider extension component. Being attached to the FlexGrid control, and bound to a data array from the Redux Store, this component changes the grid behavior in the following ways:
Allows a user to edit the data via the grid in a usual manner (change item values, add/delete rows, paste text, and so on). Data transformation operations such as sorting, grouping, and filtering are also supported.
Prevents the grid from mutating the underlying data array in response to user edits. Instead, it triggers the dataChanged event, which can be used to dispatch data change actions to the Redux Store.