При обновлении пропсов компонент не перерендивается. Условный рендеринг. Почему? React
return (
<div>
<h1>
{props.auth ? `ПОЛЬЗОВАТЕЛЬ АВТОРИЗОВАН ${props.user.email}` : 'АВТОРИЗУЙСЯ'}
</h1>
...
</div>
)
const mapStateToProps = (state) => {
return {
auth: state.auth.auth,
user: state.auth.user
}
}
Всё разобралась в чём дело было. Ошибка в action-e
Ваш компонент React может не перерендериваться при изменении пропсов по нескольким причинам. Одной из наиболее распространенных причин является использование React.PureComponent вместо React.ComponentReact.PureComponent выполняет поверхностное сравнение пропсов и состояния, и если изменения происходят глубоко внутри объекта или массива, они могут быть проигнорированы, что приводит к отсутствию перерендеринга.
Если вы используете React.Component, то по умолчанию при изменении состояния или пропсов ваш компонент будет перерендериваться. Однако, если вы используете условный рендеринг и ваше условие не меняется при обновлении пропсов, компонент также не будет перерендериваться.
В вашем случае, если state.auth.auth или state.auth.user меняются, компонент должен перерендериваться. Если это не происходит, убедитесь, что mapStateToProps корректно подключена к вашему компоненту с помощью функции connect из библиотеки react-redux. Если проблема все еще сохраняется, проверьте, действительно ли состояние меняется при обновлении пропсов. Это можно сделать, добавив console.log в ваш компонент для отслеживания изменений состояния.