Я пытаюсь перенаправить мою страницу входа на мою главную страницу.
Я делаю это с помощью:
this.props.history.push("/userdashboard");
Это работает, но на главной странице есть переменные const, извлеченные из Constants.js
, который содержит USER_ID
, установленный из локального хранилища:
let user_id = null;
try {
user_id =
window.localStorage.getItem("user_info") &&
JSON.parse(window.localStorage.getItem("user_info")).user_id;
} catch (err) {
console.error("Error Parsing user_info user_id");
}
const USER_ID = user_id;
export { USER_ID };
и затем импортируется с
import { USER_ID} from "../constants/Constants";
Проблема в том, что эти константы по-прежнему нулевые и не содержат новую информацию, пока страница не будет перезагружена.
Я хотел бы иметь возможность сделать это без использования location.reload
, так как я хочу, чтобы пользователь иногда помещался на определенную страницу.
Это с моей страницы входа, которая ждет завершения действия и затем нажимает
this.props.loginFunc(login_data).then(() => this.completeLogin());
completeLogin() {
this.props.history.push("/userdashboard");
}
Я не могу найти способ обновить эти const
данные. Кроме того, я не совсем уверен, почему эти константы используются для получения элемента из локального хранилища каждый раз, что не ожидается, и используется в достаточном количестве мест, что было бы неудобно для рефакторинга.