Я хочу выполнить sh вход в систему с использованием реакции и достичь маршрутизатора .. По сути, я хочу go из компонента входа в компонент HomeLayout при успешной аутентификации. Я успешно выполнил вход в систему
Вот код моего компонента приложения, который является точкой входа в проект
import React, { Component } from 'react';
function App() {
return (
<div>
<Login />
</div>
);
}
===============
Компонент входа
import React, { Component } from "react";
import axios from "axios"
class Login extends Component {
state = {
username: "",
password: "",
loggedIn: false
}
onChange = (e) => {
e.preventDefault()
this.setState({
[e.target.name]:e.target.value
})
}
LoginUser = (e)=>{
const {username, password} = this.state
e.preventDefault()
let UserLoginDetails = {
email: username,
password: password
}
axios.post("localhost:4500/users/login", UserLoginDetails)
.then(loginResultFromBackend=>{
this.setState({loggedIn: true})
// I want to go to "/Home" here
}).catch(error=>{
console.log(error)
})
}
render() {
return (
<form onSubmit={this.LoginUser}>
<input
type="text"
value={this.state.username}
name="username"
onChange={this.onChange}/>
<input
type="text"
value={this.state.username}
name="username"
onChange={this.onChange}/>
<button type="submit">Submit</button>
</form>
);
}
}
==========================
Домашний компонент
import category from "./category";
import { Router, Link } from "@reach/router";
import NotFound404 from "../default404/PageNotFound";
class HomeLayout extends Component {
render() {
return (
<div>
<Link to={`Home`} > Home </Link>
<Link to={`category`} Categories </Link>
<Router>
<Home path="/Home"></Home>
<category path={`category/:category`}></category>
<NotFound404 default />
</Router>
</div>
);
}
}
В штате я установил username = "", password = "" и loggedIn = false.
Ожидаемое поведение
Получив результат от бэкэнда, я хочу перейти на домашнюю страницу, расположенную в / Home.
Я пытался сделать navigate("/Home")
, но это просто меняет URL, без изменения компонента.
Помоги мне здесь? Если бы кто-то со стороны реакции-роутера пролил некоторый свет, это было бы полезно, поскольку я по сути код newb ie.