Я пытаюсь выполнить базовый условный рендеринг на основе логина пользователя. У меня есть обработчики событий и вызов axios в компоненте Login.
const Login = () => {
const handleChange = event => {
setCustomerLogin({
...customerLogin,
[event.target.name]: event.target.value
});
};
const handleSubmit = e => {
e.preventDefault();
axios
.post("/api/Authentication", customerLogin)
.then(function(response) {
setCustomerLogin(response.data);
console.log(response);
})
.catch(function(error) {
console.log(error);
});
};
Мой компонент Navbar сейчас очень прост и просто автоматически отображает мои SignedOutLinks, которые являются ссылками, которые я показываю до входа пользователя в систему.
const Navbar = () => {
return (
<nav className="nav-wrapper blue darken-4">
<div className="container">
<Link to='/' className="brand-logo left">Cars4U</Link>
<SignedOutLinks />
</div>
</nav>
)
};
Я хотел бы определить мою функцию setCustomerLogin в App.js и чтобы мой компонент Login вызывал это значение. Пока это мой файл App.js, я просто не знаю, как определить функцию в моем App.js и установить состояние в моем компоненте Login
const [customerLogin, setCustomerLogin] = useState([
{ username: "", password: "" }
]);
function App() {
return(
<div className="App">
<Navbar />
<Switch>
<Route path='/login' component={Login}/>
<Route path='/signup' component={Signup}/>
</Switch>
</div>
);
}