使用 ngrx 的大量表单控件

Large number of form controls with ngrx

最近在学习NgRx(其实还在努力学习中),更新我们现有的项目到Angular5和ngrx结构。到目前为止一切顺利,但我们的一个页面得到了一个数据 table,其中包含超过 1k+ 个表单字段。

我通常使用反应式表单从状态切片填充表单字段,并在用户发送表单时更新对状态的更改,但是使用那么多表单字段创建表单控件可能会非常昂贵并且不想减慢速度在该页面下,似乎只使用基本文本框和具有 NgRx 结构的 ngModel 是不行的

我怎样才能用 NgRx 的方式解决这个问题。提前谢谢你

当您使用模板驱动表单时(通过在 input 元素上使用 ngModel 指令),angular 会代表您自动创建 FormControl 并将它们附加到所有注册 input HTML 元素,然后将这些 FormControl 直接注册到 angular 为您创建并附加到 form 元素的 NgForm .另一方面,如果你选择使用响应式形式,你自己必须显式创建顶层 FormGroup 和任何 FormControls 或 FormArrays,并注册这些 FormControls 和 FormArrays 与父 FormGroup 并手动将它们绑定到您的 form 元素和您希望 angular 关注的任何 input 元素在。所以从逻辑上讲,在性能方面不应该有任何显着差异。您也不应该对使用反应式形式可能导致的性能问题做出任何假设,在这种情况下,测量是您的最佳答案。但是使用反应式可以更好地控制和灵活地控制您的表单

ngrx store 只是一个状态管理器,它与 redux store 非常相似,实际上,ngrx store 的灵感来自于 redux store,简而言之,ngrx store 允许您将所有应用程序状态放在一个中央位置,所以更容易管理和检索,所以你不需要真的不用,真的没有"ngrx way"办事