首页 > 解决方案 > react-hook-form 7 不适用于 Material UI(已解决)

问题描述

解决方案
所以我发现了问题,在我Controller渲染的地方,它name需要道具才能发挥作用,就像它在组件 API 上一样 支柱

我正在用formik构建一些表单,但是性能很糟糕,所以我搜索了一段时间,发现react-hook-form,看起来很棒,但是我无法使用Material UITextField组件使其值得。这将是我的简单登录设置:

const schema = yup.object().shape({
  email: yup.string().required("Este campo é obrigatório"),
  password: yup.string("Coloque sua senha").required("Senha é necessaria"),
});

const {
    register,
    handleSubmit,
    watch,
    control,
    formState: { errors },
  } = useForm({
    resolver: yupResolver(schema),
  });

用 yup 构建一个方案并像在文档中一样解决它。

              <Controller
                control={control}
                render={({ field }) => (
                  <TextField
                    {...field}
                    fullWidth
                    autoComplete="email"
                    type="email"
                    label="E-mail, CPF ou CNPJ"
                    error={Boolean(errors.email)}
                    helperText={errors.email ? errors.email.message : ""}
                    variant="outlined"
                    margin="normal"
                    id="email"
                    name="email"
                  />
                )}
              />

这将是我的组件不起作用,并且似乎发生的情况是没有任何值传递给我的方案,然后它警告“此字段是必需的”,我该怎么办?更改库,选择标准手动表格还是有更好的方法?

标签: reactjsformsmaterial-uireact-hook-form

解决方案


推荐阅读