Краткое объяснение
Итак, я хочу добиться следующего: после подтверждения того, что адрес электронной почты и пароль пользователя верны, состояние входа в систему должно измениться с ложного на истинное. Однако это состояние входа настраивается в моем App.js, а подтверждение входа - в моем Login.js.
код
В моем App.js у меня есть следующий код:
<UserProvider value={{
loggedIn: this.state.loggedIn,
actions: {
logIn: event => {
this.setState({ loggedIn: true })
}
}
}}>
<Route path='/' component={Login} />
</UserProvider>
В моем Login.js у меня настроена функция стрелки после того, как пользователь нажимает кнопку входа в систему.
requestAuth = () => {
axios({
method: 'post',
url: process.env.REACT_APP_API_AUTH,
data: {
username: 'test',
password: 'test'
}
})
.then(
(response) => {
console.log(response)
this.setState({
feedback: "Alright, welcome back! I'm gonna log you in!"
})
}
)
.catch(
(error) => {
console.log(error)
this.setState({
feedback: "Sorry, I think your e-mail or password is incorrect. Wanna try again?"
})
}
);
}
render () {
return (
<UserConsumer>
{({ actions }) => {
return(
<div onClick={this.requestAuth}>
</div>
)
}}
</UserConsumer>
)
}
Вопрос
Однако я не понимаю, как обновить набор событий 'actions.Login' в App.js после успешного выполнения запроса на вход.