高内聚, 要求一个组件有一个明确的组件边界, 将紧密相关的内容聚集在一个组件下, 实现”专一”的功能....容器组件一般以’高阶组件’形式存在, 它一般 ① 从外部数据源(redux 这些状态管理器或者直接请求服务端数据)获取数据, 然后 ② 组合展示组件来构建完整的视图....状态回显是表单组件的功能之一, 我个人的最佳实践是value应该是自包含的:
比如一个支持搜索的用户选择器, option 都是异步从后端加载, 如果 value 只保存用户 id, 那么回显的时候就无法显示用户名...# 导出所有组件
对于 Foo 模块来说, 存在一个主体对象即 Foo 组件, 所以这里使用default export导出的 Foo 组件, 代码为:
// index.tsx
// 这三个文件全部使用...在这个项目的实际开发中, 我的做法是创建一个 FormStore 的 Context 组件, 下级组件通过这个 context 来统一存储数据. 另外我决定使用配置的方式, 来渲染动态这些表单.