Решением с использованием избыточности является использование mapStateToProps
для прослушивания изменений в магазине.
Пример:
userState = {isLoggedIn: false}
A - отправить логинSuccessAction
B - Изменить пользователя в редукторе и установить его как `` `LoggedIn: true```` *
C - mapStateToProps с isLoggedIn
D - Изменить все, что вы хотите в компоненте прослушивания
`
// Action
const loginSuccess = {type: loginSuccess }
//
//Reducer
export function reducer( state = initialState, action){
switch (action.type) {
case loginSuccess.type: {
return {
...state,
isFetching: false,
isLoggedIn: true,
errorMessage: '',
};
}
case logoutRequest.type: {
return initialState;
}
default:
return state;
}
}
}
// MapStatetoPros Other Component listening to isLoggedIn
function mapStateToProps(state) {
return {
isLoggedIn: state.user.isLoggedIn,
};
}
// When props change other component
componentWillReceiveProps(nextProps) {
if (this.props !== nextProps) {
this.setState({
isLoggedIn: nextProps.isLoggedIn,
});
}
}
`