Я не могу использовать значение состояния по умолчанию в приставке
Здравствуйте, у меня есть функция для отправки действия входа в систему, я хочу, чтобы в качестве начального значения было false
,
, но когда я положить это значение в методе рендеринга, это дает мне ошибку
can't read property 'isLogin' of undefined
хотя в редуктор я добавляю initialState
let initialState = {
isLogin: false,
};
const userReducer = (state = initialState, action) => {
switch (action.type) {
case IS_LOGIN:
state = {
...state,
isLogin: true,
};
break;
default:
return state;
}
return state;
};
вот магазин
const store = createStore(
combineReducers({
user: userReducer,
count: countPlayReducer,
}),
);
Действие
export const isLoginFunc = isLogin => {
return {
type: IS_LOGIN,
payload: isLogin,
};
};
Интерфейс пользователя / Диспетчеризация
import {isLoginFunc} from '../../redux/actions/isLoginAction';
signIn = async data => {
this.setState({loading: true}); // maybe here the wrong?
API.post('/login', data)
.then(async response => {
let {
data: {
data: {
response: {token},
},
},
} = response;
this.props.dispatch(isLoginFunc(true));
await saveToken('id_token', token);
this.setState({loading: false}, () =>
this.props.navigation.navigate({
key: 'TabHome',
routeName: 'TabHome',
}),
);
})
.catch(error => {
console.log(error);
this.setState({loading: false, error: error.response.data});
});
};
render(){
...
<Text>{this.props.user.isLogin}</Text>
...
}
mapStateToProps = state => {
return {
isLogin: state.user,
};
};
export default connect(mapStateToProps)(Login);