• learning项目总结


    1. Dialog组件:当背景图片是不规则情况,可以把内容写在传递函数中:modalRender={() => ()},而不是在>后面写
    2. 所有的点击按钮都要加上cursor:pointer,会让用户知道在哪儿点击。
    3. 对于需要兼容undefined / is not function的函数,直接可以在()后面加上?.进行访问,即可解决兼容问题。
    const getOpenData = window.openData?.();
    1. 函数形式的代码中有时候有组件形式的代码,调用需要加上this.
    2. 当埋点的时候遇到从别的地方引入的函数,像learning项目里面的handleClickConsult,则可以传递一个变量,
      onClick={() => handleClickConsult("offSiteCustomer")}
      进行判断是哪个地方传过来的,之后再加上不同的埋点信息。
    3. Modal组件的visible属性现在快不支持使用了,可以使用open代替。
      1. export const handleClickConsult = (name) => {
      2. // @ts-ignore
      3. // window.showConsultModal && window.showConsultModal();
      4. // 钉钉预约演示跳转钉钉客服
      5. const trackerData = {
      6. offSiteCustomer: {
      7. actionName: "点击在线客服",
      8. actionGroup: "在线客服",
      9. productName: "学习中心",
      10. },
      11. footer: {
      12. actionName: "点击底部在线咨询",
      13. actionGroup: "在线咨询",
      14. productName: "学习中心",
      15. },
      16. rightFloating: {
      17. actionName: "点击右侧在线咨询",
      18. actionGroup: "在线咨询",
      19. productName: "学习中心",
      20. },
      21. };
      22. //判断name是否在trackerData里面,在的话就使用 ...trackerData[name]里面的
      23. if (trackerData[name]) {
      24. trackerAction({
      25. ...trackerData[name],
      26. actionName: name,
      27. actionGroup: "预约演示",
      28. productName: "OKR学习",
      29. });
      30. }
      31. };
    1. 防抖函数debounce对于高频率点击的函数,要让函数等待一定的时间才完成运行。以此来防止函数多次执行,造成内存泄漏。让debounce函数()内的代码运行完成后,再等待指定的时间之后,才能完成handleSee函数的执行。当在debounce函数()内的运行的过程中或者等待指定的时间期间内,再次调用了debounce函数,则让()里面的代码重新运行之后再等待指定的时间,直到没有其他调用打断函数的执行。

    1. const handleSee = debounce(async (data) => {
    2. try {
    3. setIsPlayerVideo(true);
    4. const res = await seeLearning(data.learningId);
    5. if (res && res.Code === 1) {
    6. setIsRead(true);
    7. setShowNoticePop(false);
    8. }
    9. } catch (error) {
    10. Toast.Error('error', { canClose: false });
    11. }
    12. }, 500);

  • 相关阅读:
    组合式 API 的优势
    第十八章 Servlet
    IPv6 address status lifetime
    Python 中,单例模式的5种实现方式(使用模块、使用装饰器、使用类方法、基于new方法实现、基于metaclass方式实现)
    RabbitMQ安装教程(最新RabbitMQ安装,通用教程)
    VMware安装ubuntu连接互联网和主机
    springboot01
    ES系列十二、ES的scroll Api及分页实例
    洛谷 P1776:宝物筛选 ← 多重背包问题 二进制优化
    计算机组成原理4小时速成:系统总线,片内总线,系统总线,通信总线,数据总线,地址总线,控制总线,传输率=带宽/传输周期
  • 原文地址:https://blog.csdn.net/qq_56918166/article/details/134506012