Есть несколько способов взглянуть на это.
Во-первых, вы можете управлять навигацией в своей таблице с помощью состояния React и удерживать состояние таблицы в компоненте верхнего уровня, который содержит маршруты (например, с помощью React-Router для маршрутизации в push-состоянии), или вы можете отображать изменения к вашей таблице только с React и без изменений маршрутизации.
Вы также можете хранить состояние таблицы в Redux (аналогично состоянию удержания в React, но вместо этого использовать глобальное хранилище данных Redux) и использовать промежуточное ПО, как предлагается в этом посте: Как сохранить Редуксное дерево состояний при обновлении?
Я думаю, что размещение состояния с компонентом более высокого уровня или хранилищем данных Redux - ваши лучшие варианты, если вы будете осторожны, чтобы не перерисовывать все приложение при каждом изменении.
Кроме того, вы можете использовать API-интерфейсы платформы, такие как LocalStorage, для обеспечения персистентности на стороне клиента.
Наконец, вы можете хранить данные на сервере каждый раз, когда что-то меняется. Однако это, вероятно, будет наименее производительным из доступных вариантов.