如果登录成功,我想更改页面,但我收到此错误消息:
用这个代码:
export default function SignUp() {
const trigger = async (event: any) => {
event.preventDefault();
const data = new FormData(event.currentTarget);
const navigate = useNavigate();
try {
const response = await fetchRestEndpoint(`/users`, 'POST', {
username: data.get("username"),
email: data.get("email"),
password: data.get("password"),
role: "user"
});
if (response.ok) {
const user: any = await response.json();
console.log(user);
navigate('/');
}
} catch(e) {
alert(e);
}
......
2条答案
按热度按时间qlfbtfca1#
Next.js提供了自己的路由器。您不需要使用
react-router-dom
。我强烈建议你看看related documentation。使用pages目录时
使用app目录时
bqjvbblv2#
问题是,通过从回调函数调用React钩子,你打破了钩子的规则。React钩子只能在顶层调用,例如在React函数组件的主体中,或自定义React钩子。
将
useNavigate
钩子移出回调。