表单解耦处理(展示组件-容器组件)

在表单功能开发时,会遇到一个普遍性的问题,即表单会存在多种状态:新增、编辑、查看等等,不同的状态也对应着不同的UI和逻辑。但是不同的状态对应的UI和逻辑大部分又是相同的。就导致我们在进行组件、模块划分时,不知道怎么办。

其实,针对类似表单这种问题,有这么一个解决思想:展示(UI)组件 - 容器组件

我们可以把整个表单相关功能划分为两类模块:

  1. (展示组件)表单中涉及到所有状态的UI结构样式全部放到UI组件中(不涉及任何的逻辑,只接收不同状态的数据,来做UI展示)。

  2. (容器组件)表单中涉及到的不同状态以及对应的逻辑,单独放在一个对应状态的组件模块中。例如:新增相关的逻辑单独放在新增组件中,编辑逻辑单独放在编辑组件中,查看逻辑单独放在查看组件中。

  3. (组合)然后在所有的容器组件中,去引入展示(UI)组件,将对应状态的经过逻辑处理后的数据传入给展示组件。

文字太抽象,请看图:

展示组件-容器组件.jpg

总结:这种模式本质上也是在做模块的解耦,将处理数据的逻辑和UI展示划分为不同模块,方便后期维护。表单状态越复杂,这种模式的收益就越高。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容