我刚开始使用om.next,遇到了这样一种情况:我将一些表单输入实现为保持本地状态的组件,例如验证状态、实际输入值等--这种状态是通过om.next/update-state!和om.next/get-state更新和访问的。这样做的问题似乎是,当我将输入包装在父组件中的表单中时,我不确定如何获取输入组件持有的状态。将父组件作为输入组件的属性传递是不是更好?没有父组件的情况会怎样呢?
发布于 2016-05-31 05:56:59
在我看来,对于您想要实现的用例,有两种选择:
transact!更新该条目,而不管输入对应的组件是什么。这样,表示输入的每个组件都知道在应用程序状态中的何处更新自己(当前表单中的哪个键)-可能会在一个变异函数中成功捕获。1)可能是你目前拥有的代码中最容易实现的,但我总是喜欢2),因为它不会偏离Om Next推荐(并试图执行)的“单一真理来源”的观点。表单数据实际上是业务数据,分散在组件中可能并不可取。可测试性只是我从这种方法中立即看到的一个优势。
https://stackoverflow.com/questions/37327205
复制相似问题