reactjs - Hvordan løse feilen: Modulen '"react-hook-form"' har ingen eksportert medlem 'useForm'


Jeg vil lage en enkel påloggingsside ved å bruke react-hook-form

Jeg får denne feilen:

Modul '"react-hook-form"' har ingen eksportert medlem 'useForm'

import React from 'react';
import { Box, TextField } from '@mui/material';
import { SubmitHandler, useForm } from 'react-hook-form';

type InputForm = {
  email: string,
  password: string
}

const Login = () => {
  const { register, handleSubmit } = useForm<InputForm>();
  const onSubmit: SubmitHandler<InputForm> = (data: any) => console.log(data)

  return (
    <Box>
      <form onSubmit={handleSubmit(onSubmit)}>
        <TextField label="email" {...register("email")} />
        <TextField label="email" {...register("password")} />
      </form>
    </Box>
  )
}

export default Login

denne koden gir meg følgende feil

TS2305: Module '"react-hook-form"' has no exported member 'useForm'.
    1 | import React from 'react';
    2 | import { Box, TextField } from '@mui/material';
  > 3 | import { SubmitHandler, useForm } from 'react-hook-form';
      |                         ^^^^^^^

men når jeg bruker en enkel JS-fil, fungerer det normalt

Svar #1

Legg til use client øverst i filen der useForm importeres.

Kilde

Svar #2

TypeScript-versjonen du bruker i prosjektet ditt kan være kilden til feilen siden react-hook-form sa:

Viktig: Typescript ^4.3 eller nyere er den anbefalte versjonen for å bruke react hook form. https://react-hook-form.com/ts/

her prøvde jeg koden din og den viser ikke den feilen https://codesandbox.io/s/compassionate-sea-z5sx9u?file=/src/App.tsx

du kan ta en titt på versjonene som brukes i package.json https://codesandbox.io/s/compassionate-sea-z5sx9u?file=/package.json

Relaterte artikler