reactjs - 尝试重定向时出现错误意外使用历史记录?
问题描述
我正在尝试构建一个登录身份验证系统,当用户使用护照身份验证模块介绍他的所有详细信息时,用户会被重定向到该模块的主页history
。history
但是在这样做之后,当我查看stackoverflow中的其他一些解决方案并且它们似乎都使它以这种方式工作时,它给了mme一个意外使用的错误。
import React, {useState} from 'react'
import './login.css'
import axios from 'axios'
import { useHistory } from "react-router-dom";
function Login() {
const [username, setUsername] = useState("")
const [password, setPassword] = useState("")
const [data, setData] = useState(null)
const onChangeUsername = (e) => {
setUsername(e.target.value)
}
const onChangePassword = (e) => {
setPassword(e.target.value)
}
const onSubmit = (e) => {
e.preventDefault()
const users = {
username: username,
password: password
}
axios.post('http://localhost:4000/users/login', users)
.then(res => console.log(res.data))
}
const loginUser = () => {
axios.get("http://localhost:4000/users/user", {
withCredentials: true
}).then(res => {
setData(res)
if(res.status === 200) return history.push("/home")
})
}
console.log(data)
return (
<div>
<img src="https://www.freepnglogos.com/uploads/twitter-logo-png/twitter-logo-vector-png-clipart-1.png" className="twitterlogo____image"/>
<h1 className="login_____headertext">Log in to Twitter</h1>
<div className="placeholder_____global">
<form onSubmit={onSubmit}>
<input className="placeholder____div" placeholder="Phone, email or username" onChange={onChangeUsername}/>
<div>
<input className="placeholder____div" placeholder="Password" type="password" onChange={onChangePassword}/>
</div>
<div>
<button className="twitter___loginbuttonpage" onClick={loginUser}>Log in</button>
</div>
</form>
<div className="forgetPassword_____div">
<p>Forgot password?</p>
<p>·</p>
<p>Sign up for Twitter</p>
</div>
</div>
</div>
)
}
export default Login
解决方案
看起来您正在导入 useHistory 挂钩,但没有对其进行初始化。
在组件状态下方添加以下内容:
const history = useHistory()
推荐阅读
- r - 按因子级别对数据进行分组,然后转换为以 colname 为级别的数据框?
- sql - Apache derby - SELECT * FROM tablename 不起作用
- c++ - Why does this code output before even reading input?
- python - 如何在 Python 中更改 chrome selenium 驱动程序的地理位置?
- sql - PL/PGSQL dynamic trigger for all tables in schema
- node.js - 用于节点项目的 docker-compose 在 Windows 上找不到 package.json
- android - 如何在 android studio 中删除 android sdk?
- php - 更新到数据库时变量迭代中未定义的索引
- android - 如何在 Kotlin for android 中为 webrtc SurfaceViewRenderer 帧大小和视图大小设置动画?
- java - 二进制 XML 文件第 15 行:无法解析索引 1 处的属性:TypedValue{t=0x2/d=0x7f030003 a=-1}