Procomponnet
使用于中后台项目,通过页面标准化规范,来提升大幅度开发效率;
只需要维护一套数据模型,就可以生成整套CRUD代码;
举例:
拥有高阶抽象能力:封装网络请求、自动生成表单、数据格式化、集成校验等等逻辑,显著减少胶水代码。
ProTable组件,集成Table组件,集成分页、搜索、数据请求等等功能。
- 比如,标准化后端返回结构,相关接口默认返回页面和数据总条数,便于处理分页逻辑
- 比如, 在formSchema对象中,配置onFetchData方法, 可以自动进行数据请求
ProForm组件,集成动态生成表单,联动校验, 表单嵌套等复杂场景。
ProRecord组件,集成ProTable与ProForm组件,对二者的数据模型进行更深度的封装。
做了哪些事情?
不能解决什么问题?
在不标准化的prd页面、接口api(前后端相同的字段, 后端结构化返回的数据)、设计元素(模版、组件)中使用;
黑话
- 推动建立前后端通用的表单字段模型,描述字段类型、校验规则、组件映射和UI布局等属性,结合
formily搭建模型驱动的表单渲染引擎,实现表单动态渲染能力;搭建管理后台字段运营模块,实现表单字段配置化能力。
涉及知识:
- 阿里的formily: https://formilyjs.org/zh-CN/guide 借助mobx, 就可以解决渲染输入过程中的O(n)的问题,实现精确渲染;
关于react-hook-form, 解决了值输入的时候精确渲染,但是在表单联动的时候以及error校验的时候,仍然会全量渲染, 所以需要使用延续mobx思想的reactive.formily.js;
后面再慢慢读吧,有点难受了。