Я пытаюсь передать TextField из material-ui в контроллер формы response-hook, но он возвращается как функция. Не удалось импортировать типы свойств и потребовать объект.
import React from 'react';
import { useFormContext, Controller } from 'react-hook-form';
import { TextField, Grid } from '@material-ui/core';
function FormInput({ name, label, required }) {
const { control } = useFormContext();
const isError = false;
return (
<Grid item xs={12} sm={6}>
<Controller
as={TextField}
name={name}
control={control}
label={label}
fullWidth
required={required}
error={isError}
/>
</Grid>
);
}
export default FormInput;
1 ответ
Во-первых, опора as
устарела, рассмотрите возможность использования опоры render
или ловушки useController
. Это не работает, потому что есть проблема с ref
.
Вот рабочий пример без контроллера: React Hook Form V7 - Текстовое поле MUI
А вот с крючком useController
: React Hook Form V7 - MUI TextField useController
< / а>
Вы можете найти документацию по useController
здесь: https: // response-hook-form .com / api / usecontroller.
Похожие вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript / JS) и его различных диалектах / реализациях (кроме ActionScript). Включите все соответствующие теги в свой вопрос; например, [node.js], [jquery], [json] и т. д.