Я использую Formik в качестве библиотеки для обработки моего значения формы. Я пытаюсь использовать пользовательский компонент в качестве поля, мой родительский компонент выглядит так:
<Formik
onSubmit={(values) => {
console.log(values);
}}
>{({values}) => (
<div className="card-wrapper">
<Form>
<div className="row">
{group.elements.length ? (
group.elements.map((item,i) => {
return (
<div key={i} className="col-12 col-sm-6 col-md-6 col-lg-4">
<Field type="range" component={LevelSelector} name={item.name.trim()} />
</div>
)
})
): ""}
<div className="btn-container">
<Input type="submit" className="btn btn-primary" value="Save"></Input>
</div>
</Form>
</div>
)}
</Formik>
Мой пользовательский компонент является компонентом класса, а не компонентом функции. В документации (https://jaredpalmer.com/formik/docs/api/field) показано, как можно реализовать компонент функции, но не компонент класса.
Моя функция рендеринга выглядит так:
render() {
return(
<>
{
({
field,
form,
...props
}) => {
return(
<>
<Label for="exampleSelect">{this.props.name}: </Label>
<p><i>{this.state.levelLabel}</i></p>
<Input {...field} {...props} onChange={this.handleChange} />
</>
);
}
}
</>
);
Я пытался вернуть функцию, аналогичную описанной в документации, но безуспешно.
Есть ли способ реализовать настраиваемое поле как компонент класса?
Любая помощь будет высоко оценена.