如何在 React-Redux 应用程序中使用单个保存按钮来管理不同组件中多个表单的状态?

问题描述 投票:0回答:1

我正在开发一个具有 .NET Core 后端和 React 前端的应用程序,利用 React Hook Form 进行表单管理。前端不是单页应用程序 (SPA),我面临着表单处理和状态管理方面的独特挑战。

在其中一个页面中,我有两个单独的表单位于页面的不同部分。这些表单本质上是同一对象的两个部分,需要通过单个“保存”按钮一起提交。我的目标是避免对与这些表单相关的操作进行两次 HTTP 调用(一个用于获取对象,另一个用于保存对象)。相反,我希望只进行一次调用,以从两种表单中获取和保存聚合的对象数据。

我考虑过使用 Redux 来维护两种表单的单一共享状态,使我能够在单击“保存”按钮时聚合数据。但是,我不确定如何有效地实现这一点,特别是因为我发现的大多数示例都处理多步骤表单,其中每个步骤都有自己的“下一步”或“保存”按钮。我的情况有所不同,因为我需要同时保存表单的两个部分。

这是我到目前为止的想法:

使用 Redux 来保存两种表单的状态。 单击“保存”按钮时,以某种方式聚合 Redux 中的表单数据。 进行一次 API 调用来保存聚合对象,并进行另一个 API 调用来获取它。 我的问题是:

如何使用 Redux 有效管理和聚合位于不同组件中的两个单独表单的状态? 是否有推荐的模式或最佳实践在使用 Redux 的 React 应用程序中实现此类表单处理? 鉴于这不是 SPA,我是否应该考虑任何具体注意事项? 任何有关如何解决此问题的建议或见解将不胜感激。我正在寻找有关如何正确设置的代码示例或概念指导。

提前感谢您的帮助!

typescript redux react-hook-form
1个回答
0
投票

这是 redux 的完美案例。没有需要考虑的特定模式,但您可以在每个字段上使用 redux 操作来更新 redux 状态中的特定字段。不是太难,但如果你没有很好地构建你的组件,可能会变得混乱。祝你好运!

© www.soinside.com 2019 - 2024. All rights reserved.