我正在开发一个巨大的表单上的企业应用程序,页面和页面充满了表单。通常,当它只是形式时,我们可以简单地使用诸如formik或react-hook-forms之类的库,但我一次又一次看到的是,当某些内容发生变化时,有做某事的业务需求,这意味着我要以编程方式更改表单值。
目前useEffect
,我们正在使用所有这些业务逻辑副作用,并将它们放在组件上,但是然后感觉就像我在将视图与业务逻辑混合在一起。
但是redux
,我的本能是使用,并使用redux-saga
这种方式来管理所有副作用和复杂性,因为我的UI是纯净的,易于编写测试。redux-saga处理业务逻辑和副作用,无论如何,它们都是IMO应该属于的地方,我想知道社区在这种情况下正在做什么。
就我而言,表单并不像显示表单那样简单,并且在提交,处理数据时,我们还需要处理某些更改,具有一些业务逻辑并且有时实际上还要更新其他值。
对于禁用此复选框时,此输入被禁用的情况,则不需要redux,其余的呢?你们在干什么?
我们基于不同方面做出了决定,因为redux太冗长,我们不想使用它,但这不是工程师选择技术的方式。
我们决定权衡每一点:
当我们评估这些时,带有saga的redux排名最高,可以肯定formik具有它的优势,但是我们的整个App只是表格,而这些表格并不像渲染和做一些次要的副作用那么简单,而是巨大的表格和副作用以如此复杂的方式,仅仅能够使用devtools来跟踪问题就已经很大了。
另一件事是让redux-saga层有所帮助,无论如何,这就是我们做出决定的方式,但是99.9%的表单应该继续使用formik,但是不幸的是,我们的比例为0.1%,redux随开发人员的数量而扩展(5000+开发人员在公司中,有50多个积极地为这个项目做贡献的人),而具有devtools以及能够分离副作用,探索数据等功能的redux更有意义。
请在需要时选择自己的。
https://github.com/reduxjs/redux/issues/1287#issuecomment-175351978 Dan表示,如果在全局上很重要,请使用redux或以复杂的方式进行更改。我们的表单以复杂的方式进行更改,因此很难在其中维护代码未来,formik使得编写代码变得容易,而redux使其易于调试和维护。(为我们)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句