javascript - React-final-form-array 如何根据新状态重新渲染表单
问题描述
我正在使用react-final-form-arrays
构建一个动态字段系统,到目前为止的场景是这样的:
- 用户单击按钮打开编辑器模式(使用添加/删除自定义字段
react-final-form-array
。完成后,单击保存,它将更新主表单。
主要表单还react-final-form-array
用于循环遍历字段并进行渲染,而无需添加“添加/删除”按钮。
我试图从这里放一个非常示例:https ://codesandbox.io/s/react-final-form-field-arrays-wbhgq?fontsize=14
在那个示例中,<Form1 />
实际上是编辑器表单。提交后,<Form2 />
将呈现更新的新字段。
如果我重新加载页面,它可以工作,但当然这不是应该的。
我应该改变什么来进行<Form2 />
更新?
提前致谢
解决方案
我不确定我是否理解正确,但主要思想是使用 useState 或类组件的状态为 initialValues 创建一个存储
const App = () => {
const [initialValues, setInitialValues] = useState();
return (
<Styles>
<Form1 onSubmit={setInitialValues} />
<Form2 initialValues={initialValues} />
</Styles>
);
};
如果不是您想要实现的,请详细说明
推荐阅读
- python-3.x - 为什么 hit() 方法会附加所有的手
- php - PHP 错误:HeredocStart 预期,语法错误意外文件结尾
- node.js - 如何通过getUserByPhoneNumber使用google-cloud firestore auth获取用户记录?
- python-3.x - 如何在 Pandas 中迭代分组对象
- java - AWS 上的 S3 文件上传问题 - Spring Boot
- angular - 在希伯来语中以 8 角创建 PDF
- go - 代理网关发回 HTTP 响应
- ruby-on-rails - ||= 在控制器 before_action 中实际做了什么?
- karate - 空手道 0.9.5:无法在并行执行中获取命令行选项
- react-native - 无法处理 React-Native-Firebase SMS 确认功能中的错误