Each child component can save its state in a dedicated entry in local storage. Each change of the child component state should be reflected in the corresponding entry, and when the component is mounted, you can initialize its state based on what has been stored in the associated entry in local storage. The Grid component doesn't need to know about this for everything to operate exactly as it did before.