<Father>
<Modal {...modalProps}></Modal>
</Father>
- 页面如上,由普通页面+弹窗组件构成;
modal组件是个复杂的组件:
- 内部状态既受Father影响,又可以在Modal自身改变;
- Modal还需要post,get操作;
- Modal需要用在多个不同的Father里面;
如何设计比较优雅,既能满足子组件modal的通用性,又不需要在各个父组件中复制粘贴一大堆预处理逻辑
<Father>
<Modal {...modalProps}></Modal>
</Father>
modal组件是个复杂的组件:
如何设计比较优雅,既能满足子组件modal的通用性,又不需要在各个父组件中复制粘贴一大堆预处理逻辑
如果逻辑过于复杂,就不建议把所有逻辑都放在一个组件里。过度复用,会使代码丧失扩展性和可维护性,一旦业务发生变更,将是极其头痛的问题。建议你根据不同业务,多写几个modal,尽量让每个modal只做一件事,这才是组件化的最终目的。不能为了复用而复用,相较复用而言,代码的可维护性和扩展性优先级应该更高。
10 回答11.1k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
2 回答4.7k 阅读✓ 已解决
查了下资料以及antd的示例,最后方案如下:
关键点在于: