Я делаю одностраничный веб-сайт с логином с помощью Reactjs. Проблема в том, как и где сохранить время истечения срока действия токена. Нужно ли мне сохранять в sessionStore, но при закрытии браузера все данные будут удалены. Местный магазин? Но тогда данные будут навсегда. Или я могу сохранить в localStore, и в каждом случае мне нужно добавить функцию, которая проверяет время истечения срока из localStore, когда событие запускается, успешно обновляет локальный магазин снова? но код будет выглядеть ужасно ... а как насчет проблем с производительностью? Приемлем ли этот подход?
Да, подход приемлем и подходит для реализации. Вы также можете рассмотреть возможность использования файлов cookie. Но пусть код не выглядит ужасно: P, создайте другой файл для выполнения всех сеансовых действий / функций.





Вы используете Redux && Redux thunk?
Если да, то вот подход, которому я следовал:
Более подробную информацию о приведенном выше потоке вы можете проверить в исходном ответе (откуда я черпал вдохновение): https://stackoverflow.com/a/36986329/4312466
Если вы не используете библиотеки управления состоянием:
Это вариант следовать приведенной выше идее, но вместо того, чтобы иметь хранилище, промежуточное ПО и использовать redux-persist, вы можете:
localStore.Однако, если вы используете SPA и имеете сложные операции с состоянием, я рекомендую вам использовать некоторую библиотеку управления состоянием.
Вам просто нужно установить интервал для вызова функции обновления время от времени в вашем основном компоненте
componentDidMount().