"use client"
import { useState } from 'react';
import {auth} from '../../firebase-config'
import {createUserWithEmailAndPassword} from 'firebase/auth'
import { useRouter } from 'next/router';
const SignUp = () => {
const [email, setEmail] = useState('');
const [password, setPassword] = useState('');
const handleSubmit = (e) => {
const router = useRouter();
e.preventDefault();
// Handle form submission here (e.g., send data to server)
createUserWithEmailAndPassword(auth , email,password)
.then(()=>{
setEmail('');
setPassword('');
router.push('/')
}).catch((err)=>{
throw console.log(err);
})
}
我使用了 useEffect hook 、 windows.location.href ,我已经重新启动了服务器,但没有任何效果。 我希望用户重定向到登陆页面,但似乎没有任何效果。
在您当前的实现中,在
useRouter()
函数内部调用 handleSubmit
钩子,这可能会导致路由问题。在 Next.js 中,需要在组件的顶层调用钩子,而不是在任何回调或嵌套函数中调用。
const SignUp = () => {
const [email, setEmail] = useState('');
const [password, setPassword] = useState('');
const router = useRouter();
const handleSubmit = (e) => {
...
}
...