Я использую библиотеку store. js для хранения объекта пользователя во всех моих компонентах. Если пользователь выходит из одной вкладки, я хочу, чтобы остальные вкладки перенаправили на страницу выхода из системы или отобразили диалоговое окно с надписью «Пожалуйста, войдите в систему».
Вот как я сохраняю объект пользователя в моя страница входа в систему:
const userObject = {
username: form.username,
password: form.password,
};
axios
.post("https://localhost:9999/api/signin", userObject)
.then((res) => {
if (res.status === 200) {
store.set("userData", res.data);
console.log("logged in!!");
window.location = "/dashboard/home";
}
})
.catch((err) => {
console.error(err);
setForm({
...form,
helperTextMain: "Incorrect password or username",
errorUser: true,
errorPassword: true,
});
});
И вот как я выхожу из системы:
const handleLogout = (event) => {
event.preventDefault()
axios
.post(`https://localhost:9999/api/logout`, {},
{
headers: headers
}
)
.then(res => {
console.log(res.data)
store.remove("userData")
store.clearAll()
setUserData({})
window.location = "/" //going to login page
})
.catch(err => {
console.error(err)
})
}
Я читал о windows .addeventelistener, но у меня есть понятия не имею, как его использовать. Может кто-нибудь помочь мне с этим? Спасибо!