Есть страница профиля. Здесь props.profile()
загружается каждый раз, когда я захожу в свой профиль. Он обновляет хранилище Redux и в основном добавляет пользователя в состояние. Также есть кнопка logout
. После выхода из системы он перенаправляется на домашнюю страницу, действие и редуктор очищают состояние Redux и удаляют токен из localStorage.
Если я go на страницу моего профиля и выхожу из системы перед профилем загружает , затем, хотя я уже нажимал кнопку logout
, props.profile()
все равно загружается. Как на этом изображении .
Я думаю, что с моим useEffect
что-то не так, потому что компонент не отключается при нажатии кнопки logout
.
useEffect(() => {
props.profile();
return;
}, [props]);
Также есть return;
, но я не уверен, что с этим делать.
Желаемый результат: если я нажму кнопку выхода, я хочу, чтобы компонент отключился и просто очистился состояние.
Действие ВЫХОДА:
export const logout = () => (dispatch) => {
localStorage.removeItem("token");
dispatch({
type: LOGOUT,
});
};
Редуктор ВЫХОДА:
case LOGOUT:
return {
user: {},
authenticated: false,
loading: false,
error: null,
token: null,
};