Thanks for reading. As far I know there are two ways to achieve that.
First one is to maintain states without using Immutable.js. It can be done by replacing the original data in states with the new one holding a new reference(address). Then React would be noticed that the data has changed just by looking at the reference of the data in states.
And the other is to do the same using Immutable.js. Managing data with Immutable.js would provide us efficient ways to achieve immutability. Using Immutable.js means that data in an app is made by it and controlled by it. Whenever data changes happen it will automatically return a whole new object which, of course, means one with a new reference.