React useForm 等效于类组件



我最近将功能组件移动到类组件,但在使用类时找不到等效的useForm。 这是我之前使用的代码:

var commentField = form.getState()["active"].replace(new RegExp("parameter_info$"), "comment");
form.change(commentField, result.comment);

有了这个,我能够链接两个动态生成的输入。
如何使用类来做到这一点?

FinalForm 文档说useForm() is used internally inside useField(), <Field/>, and <FormSpy/>.,所以可以使用FormSpy编写等效的代码:

class Updater extends React.Component {
componentWillReceiveProps(nextProps) {
var commentField = this.props.form.getState()["active"].replace(new RegExp("parameter_info$"), "comment");
this.props.form.change(commentField, result.comment);
}

render() {
return null;
}
}

您需要在表单中的某个位置呈现<FormSpy subscription={{ values: true }} component={Updater} />才能使其正常工作。

请注意,您可以使用final-form-calculate包来实现字段之间的计算。

相关内容

  • 没有找到相关文章