There are several ways of looking ta it.
One, you could control the navigation in your table with React state, and hold the state of the table in a top level component that houses the routes (using React-Router for push-state routing, for example), or you could render changes to your table with only React and no routing changes.
You could also hold the state of the table in Redux (similar to holding state in React but instead using the global data store Redux supplies) and use a middleware like what is suggested in this post: How can I persist redux state tree on refresh?
I think nesting the state with a higher level component or a Redux Data store are your best options, as long as your careful not to rerender the entire app on every change.
Also, you could use the platform APIs, such as LocalStorage to enable client-side persistence.
Finally, you could store the data on the server everytime something changes. However, this will probably be the least performant of the available options.