不推荐使用 Javascript 中的“事件”,我不能使用“preventDefault()”

问题描述

我正在尝试使用 event.preventDefault() 方法,但我不断收到错误消息。它表示 event弃用

我正在制作 Firebase 注册表单,我想阻止表单提交。

这是完整的代码。

import React from "react"
import styled from "styled-components"
import getFirebase from "../../firebase"
import useInput from "./useInput"

const SignUpForm = () => {
  const firebaseInstance = getFirebase()
  const email = useInput("")
  const password = useInput("")

  const signUp = async () => {
        event.preventDefault()
    try {
      if (firebaseInstance) {
        const user = await firebaseInstance
          .auth()
          .createUserWithEmailAndPassword(email.value,password.value)
        console.log("user",user)
        alert(`Welcome ${email.value}!`)
      }
    } catch (error) {
      console.log("error",error)
      alert(error.message)
    }
  }
event.preventDefault()
  return (
    <FormWrapper onSubmit={() => signUp()}>
      <Title>Sign up</Title>
      <Input placeholder="Email" {...email} />
      <Input placeholder="Password" type="password" {...password} />
      <Button type="submit">Sign up</Button>
    </FormWrapper>
  )
}

export default SignUpForm

useInput 代码:

import { useState } from "react"

const useInput = initialValue => {
  const [value,setValue] = useState(initialValue)

  const handleChange = event => {
    setValue(event.target.value)
  }

  return {
    value,onChange: handleChange,}
}

export default useInput

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)