request 请求文档 https://pro-components.antdigital.dev/components/table#request

    1. <ProTable<DataType, Params>
    2. // params 是需要自带的参数,优先级更高,会覆盖查询表单的参数
    3. params={params}
    4. request={async (
    5. // 第一个参数 params 查询表单和 params 参数的结合
    6. // 第一个参数中一定会有 pageSize 和 current,这两个参数是 antd 的规范
    7. params: T & {
    8. pageSize: number;
    9. current: number;
    10. },
    11. sort,
    12. filter,
    13. ) => {
    14. // 这里需要返回一个 Promise,在返回之前你可以进行数据转化
    15. // 如果需要转化参数可以在这里进行修改
    16. const msg = await findAll({
    17. page: params.current,
    18. pageSize: params.pageSize,
    19. });
    20. return {
    21. data: msg.result,
    22. // success 请返回 true,
    23. // 不然 table 会停止解析数据,即使有数据
    24. success: boolean,
    25. // 不传会使用 data 的长度,如果是分页一定要传
    26. total: number,
    27. };
    28. }}
    29. />

    https://juejin.cn/post/6957918287644590117
    https://github.com/pmndrs/zustand/blob/main/readme.md 数据流代替 redux
    icestore
    https://zhuanlan.zhihu.com/p/80065802
    https://blog.csdn.net/weixin_44733660/article/details/121926380

    1. 做了什么事?
    2. 拿到了什么结果?

    https://github.com/clauderic/dnd-kit
    http://www.webfunny.cn/webfunny/home.html
    http://unclechen.github.io/2018/06/24/%E6%8F%AD%E5%BC%80JS%E6%97%A0%E5%9F%8B%E7%82%B9%E6%8A%80%E6%9C%AF%E7%9A%84%E7%A5%9E%E7%A7%98%E9%9D%A2%E7%BA%B1/
    一段IIFE形式的、压缩过的js代码,执行完成之后
    在head里面插入了一个新的script标签,异步去下载真正的核心SDK代码下来工作。所以并不是基础代码可以根据配置上报行为,而是基础代码会下载一段“更大”的SDK核心代码,这段代码才是SDK真正的功能实现。
    解决数据逐层传递问题
    Context API 主要包括 3 个部分:

    1. React.createContext:用于传递初始值,返回一个包含 “provider” 和 “consumer” 的对象;
    2. Provide Function:组件树中处于较高层,作为数据的提供方;
    3. Consume Function:组件树中处于数据提供方的下层,是数据的消费方。

    AST代码生成,相比于字符串模板拼接外的更高级完善的代码生成方式
    mock,支持每一列,快速插入 mock数据
    去除无效依赖,减少包体积,
    manacoEditor 本身也要套一层 ErrorBoundary,编辑器挂了不要直接白屏
    schema版本更新
    代码生成技术方案
    configPanel基础组件优化
    不同的表单形式,如 ModalForm, DrawerForm
    不同的表格形式,ExcelTable数据录入
    部署
    域名,网站,后台服务能力
    版本升级
    前台功能

    • 用户管理
    • 项目管理
    • 空间管理
    • 配置编辑,存储

    统计
    复制的次数,使用人数

    @ant-design/icons,794个组件

    1. useEvent 代替 useCallback不好用问题
    2. eslint 中,为了防止闭包问题,需要把所有可能产生变更的变量都放入 deps
    3. const Demo = ({ sendMessage }) => {
    4. const onClick = useEvent(() => {
    5. console.log('Click');
    6. });
    7. return <button onClick={onClick} />;
    8. };
    9. useEvent 始终返回相同的 ref,虽然内部会随着每次 render 变化而变化
    10. function useEvent(callback) {
    11. const callbackRef = useRef();
    12. callbackRef.current = callback;
    13. return useCallback((...args) => callbackRef.current(...args), []);
    14. }
    15. 实际执行时,render onCell完全不同。render返回 props 会导致子节点必然被执行一次
    16. render 需要调渲染 子节点 方法,render 返回 props 下个大版本将被废弃
    17. const columns = [{
    18. render: () => ({
    19. children: 'Hello World',
    20. rowSpan: 2,
    21. colSpan: 2,
    22. });
    23. }];
    24. onCell 方法,你也可以这么写
    25. onCell可以无关子节点,只获取 props,以更好的做渲染优化
    26. const columns = [{
    27. render: () => 'Hello World',
    28. onCell: () => ({
    29. rowSpan: 2,
    30. colSpan: 2,
    31. });
    32. }];
    33. Upload
    34. 按照以下顺序异步触发事件:
    35. 1. beforeUpload 检查是否可以上传
    36. 2. transformFile 改写文件
    37. 3. onStart 开始上传
    38. 4. onProgress 更新上传进度
    39. 5. onSuccess 上传成功
    40. 6. onError 上传失败
    41. antd-icons 抽离出来产生了大约 700+ 的组件
    42. 用一个脚本,同一套 ts template 模板生成,替换一下文件名
    43. React Hooks 的机制是什么?
    44. https://github.com/brickspert/blog/issues/26
    45. 所有的网络请求,只用 useRequest 就够
    46. umi hooks文档 https://hooks.umijs.org/zh-CN/hooks/async
    47. useSWR
    48. zeit 公司开发的一个专门做网络请求的 Hooks
    49. https://github.com/vercel/swr
    50. logger.info('%s %d', 'aaa', 222);
    51. %s 字符串占位
    52. %d 数字占位
    53. %j json 占位
    54. https://nodejs.org/dist/latest-v14.x/docs/api/util.html#util_util_format_format_args
    55. https://www.cnblogs.com/sexintercourse/p/15269676.html
    56. antd5 修改主题
    57. <ConfigProvider theme={{ components: { Layout: { colorBgHeader: '你希望的颜色' } } }}></ConfigProvider>
    58. <ConfigProvider
    59. theme={{
    60. token: {
    61. colorPrimary: 'orange',
    62. },
    63. components: {
    64. Layout: {
    65. colorBgHeader: 'white'
    66. }
    67. }
    68. }}
    69. >
    70. <Header style={{ height: 'auto', }}></Header>
    71. </ConfigProvider>
    72. grepGlobally search a Regular Expression and Printg/re/p
    73. 正则查找字符串
    74. https://blog.csdn.net/weixin_45685544/article/details/125328565

    https://github.com/ant-design/ant-design-icons/blob/master/packages/icons-react/scripts/generate.ts
    mobx(Reactive)、TypeScript 装饰器(SPI)、抽象与封装、写法示例
    抽象整个体系的解决方案:

    • 元件体系: 基于设计语言实现的端基础组件, 目前存在Fusion和AntD两套
    • 组件体系: 基于不同业务域抽象, 抽象成业务控件, 业务布局, 业务场景等, 可直接用于开发, 也能够通过一层scheme的包裹被其他系统消费. 基本各业务场景都有针对自己的业务实现的一套组件体系
    • 模板体系: 将UI逻辑内聚到一个标签内, 对外提供简单的api(组件调用, 逻辑块等), 将前端技术细节屏蔽, 业务开发只需要关注UI的编排, 数据联动等纯逻辑场景
    • 搭建体系: 借助工具, 通过可视化的方式编排构成页面的UI模块, 从而开发页面

    以主体维度划分,产品类型可分为
    消费级产品,C端产品
    企业级产品,B端产品
    客户,就是付费的那类人;
    用户,就是使用的那类人;企业级产品,付费的和使用的不是同一类人
    产品类型可分为“工具类“、“社交类”、“生活类“、“信息类”、“娱乐类”、“游戏类“六种
    https://www.zhihu.com/question/320673863/answer/1308509542
    全局样式
    布局
    导航
    按钮
    表单
    列表和表格
    可视化图表
    帮助和引导
    容器
    内容
    SpreadSheet 交叉表

    touch-action: none;
    AXIOS
    https://circleci.com/blog/making-http-requests-with-axios

    host代理只适用于80端口或443端口的机子,系统代理可以适用于所有客户端的机子
    https://hoppscotch.io/https://github.com/hoppscotch/hoppscotchhttps://blog.csdn.net/weixin_45583710/article/details/124475874
    https://www.knowledgehut.com/blog/it-service-management/itil-v5
    https://github.com/ant-design/ant-design-pro/releases