Fungsi handleLogin saya tidak dicetuskan selepas saya menekan butang log masuk?
P粉587780103
2023-07-28 15:44:46
<p><br /></p>
<pre class="brush:php;toolbar:false;">const [showRegister, setShowRegister] = useState(false);
const {
mendaftar,
mengendalikanSerah,
formState: { ralat },
set semula,
} = useForm<FormSchemaType>({
penyelesai: zodResolver(formSchema),
});
const handleFormSubmit: SubmitHandler<FormSchemaType> = (data) => {
console.log("hello world");
if (showRegister === benar) {
handleRegister(data);
console.log("data pendaftaran");
} lain {
handleLogin(data);
console.log("log masuk ");
}
};
const handleDaftar: SubmitHandler<FormSchemaType> = tak segerak (data) => {
console.log(data);
kelayakan const = {
nama pengguna: data.nama pengguna,
kata laluan: data.password,
confirmPassword: data.confirmPassword,
e-mel: data.email,
};
cuba {
respons const = tunggu tambah(kredential);
console.log(respon);
set semula();
} tangkap (ralat) {
console.log(error);
}
};
const handleLogin: SubmitHandler<FormSchemaType> = tak segerak (data) => {
console.log(data);
console.log("helloworld");
kelayakan const = {
nama pengguna: data.nama pengguna,
kata laluan: data.password,
};
cuba {
respons const = tunggu log masuk(kredential);
console.log(respon);
console.log(isSuccess);
navigasi("/pengguna");
set semula();
} tangkap (ralat) {
console.log(error);
}
};
kembali (
<borang onSubmit={handleSubmit(handleFormSubmit)}>
{/* medan input dan bahan lain */}
{showRegister ? (
<button type="submit" onClick={handleRegister}>
Daftar
</butang>
) : (
<button type="submit" onClick={handleLogin}>
Log masuk
</butang>
)}
{showRegister ? (
<div>
Sudah mempunyai akaun?
<p
style={{ kursor: "penunjuk", fontBerat: "lebih berani" }}
onClick={() => setShowRegister(palsu)}
>
Log masuk
</p>
</div>
) : (
<div>
Tiada akaun?
<p
style={{ kursor: "penunjuk", fontBerat: "lebih berani" }}
onClick={() => setShowRegister(benar)}
>
Daftar
</p>
</div>
)}
</form>
);</pra>
<p>Tidak kira apa perubahan yang saya buat, handleLogin tidak dicetuskan...bukan hanya isu mengenai panggilan API, malah kenyataan penyahpepijatan seperti console.log tidak dilaksanakan. Bolehkah sesiapa membantu saya menyelesaikan ini? Sila beritahu saya bagaimana untuk membetulkan fungsi handleRegister dipanggil apabila butang "Daftar" diklik, tetapi tiada apa yang berlaku apabila butang "Log Masuk" diklik? </p>
Memandangkan anda menggunakan acara onSubmit borang, anda tidak perlu menggunakan acara onClick untuk butang log masuk atau daftar. Cuba alih keluar acara onClick pada butang dan cuba lagi.