【发布时间】:2021-07-06 08:08:21
【问题描述】:
登录后,我想重定向到主页。 在表单中输入姓名和姓氏后,当我们点击按钮时,如何跳转到首页?
在表单中输入姓名和姓氏后,当我们点击按钮时,如何跳转到首页?
import '../node_modules/bootstrap/dist/css/bootstrap.min.css';
import FormData from './components/form-data'
import { useState, useEffect } from "react";
import { BrowserRouter as Router, Route, Switch, useHistory} from 'react-router-dom';
//import { Redirect } from "react-router-dom";
import Home from './components/home'
//import Login from './components/login'
const USERDATA = localStorage.getItem('userdata')
? JSON.parse(localStorage.getItem('userdata'))
: []
function App() {
const [name, setName] = useState('')
const [surname, setSurname] = useState('')
const [userdata, setUserdata] = useState(USERDATA)
const history = useHistory();
const handleName = event => {
setName(event.target.value)
}
const handleSurname = event => {
setSurname(event.target.value)
}
const handleSubmitForm = event => {
event.preventDefault()
if (name !== '' && surname !== '') {
const data = { name, surname }
setUserdata(data)
setName('')
setSurname('')
history.push("/Home")
} else {
console.log('Hata')
}
}
useEffect(() => {
localStorage.setItem('userdata', JSON.stringify(userdata))
}, [userdata])
return (
<Router>
<main>
<Switch>
<Route path="/Home" >
<Home userdata={userdata} />
</Route>
<Route path="/" >
<FormData name={name}
surname={surname}
handleName={handleName}
handleSurname={handleSurname}
handleSubmitForm={handleSubmitForm}
/>
</Route>
</Switch>
</main>
</Router>
);
}
export default App;
/*<Route exact path="/Home" name={name}>
{FormData } ?
<Redirect to="/Form" /> :
<Home />}
</Route>
<Redirect to="/Home" />
<Redirect to={{
pathname: "/Form",
search: "utm=your+face"
}} />
<Redirect push to="/Home" />*/
登录后,我想重定向到主页。
【问题讨论】:
标签: reactjs authentication react-hooks local-storage