Как перенаправить после замены избыточного идентификатора магазина с идентификатором сервера?
Я сейчас пользуюсь redux-optimistic-ui
чтобы иметь возможность визуализировать что-то сразу пользователю при сохранении в БД.
Перед тем, как часть моего нормализованного хранилища редуксов сохраняется в БД и возвращает идентификатор, я генерирую временный идентификатор, который заменяется, как только я получаю ответ от сервера.
У меня проблема связана с маршрутизацией. Поскольку идентификаторы активно используются в маршрутах в моем приложении, когда я генерирую временный идентификатор, он используется в моем URL, пока я жду ответа сервера.
Я думаю, что способ сделать это состоит в том, чтобы сделать что-то эквивалентное history.replaceState
с URL-адресом, содержащим новый сервер сгенерированный идентификатор.
Я использую React-Router v4, и я не уверен, где это сделать. Кажется, я не могу сделать это напрямую из редукторных редукторов. Должен ли я иметь другой редуктор пользовательского интерфейса, который слушает SUCCESS
действие и сохранить URL для перенаправления тоже? Или есть более чистый способ?
Спасибо!
1 ответ
Наконец, мы пошли на сохранение сгенерированного идентификатора внешнего интерфейса вместе с идентификатором, сгенерированным базой данных в бэкенде, и имели дело только с сгенерированным внешним интерфейсом идентификатором в API. Другое решение - использовать uuids в качестве первичных ключей в postgresql и использовать uuids, сгенерированные внешним интерфейсом.