【问题标题】:Handling add fields, edit fields and delete fields with React JS and Rails使用 React JS 和 Rails 处理添加字段、编辑字段和删除字段
【发布时间】:2017-03-08 00:11:53
【问题描述】:
我有一个用于处理前端的 React 应用程序和一个用于后端的 Rails。所以我有一个表单管理器,可以在其中添加一个字段,可以编辑或删除以前添加的字段。完成所有更改后,用户可以单击“保存”按钮将数据发送到后端。
发送数据时,哪种方法更高效?
- 组件在单独的数组中跟踪新添加的字段、删除的字段和修改的字段,并将它们全部发送到服务器并让服务器处理?
- 发送修改和新添加的字段(不是删除的字段)。现有字段将与
ids 关联,这告诉后端应用程序它是一个已经存在的项目。此方法要求服务器对先前存在的字段与当前提交的字段执行 diffs 方法以删除已删除的项目
还是有更好的选择?
【问题讨论】:
标签:
ruby-on-rails
reactjs
backend
methodology
【解决方案1】:
这是我的想法:
所以,我会推动您的第一种方法,因为再次发送整个内容似乎不正确,并且会给服务器带来巨大的负载。
但是就像你说的那样,有一个单独的对象数组,其中包含新的/删除的/修改的更多对象数组,并使用 POST 调用将其发送到服务器并让它处理它。
但要确保它不是单独的组件,而是一个处理整个数据的 redux 模块!
完成所有更改后,用户可以单击“保存”按钮将数据发送到后端。
^此声明是上述方法的原因。
否则,我会将每个表单字段视为单独的数据条目,并分别使用 POST/REMOVE/PUT 调用 API 来保存/删除/编辑,这更方便。亲吻原则! (谷歌!)
PS:如果你使用第一种方法,请确保将用户在您的大表单中输入的数据保存在本地某个地方,这样即使他不小心切换页面,他也可以轻松找回所有丢失的数据.