当前位置: 首页 > article >正文

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代替。
  4. export const handleClickConsult = (name) => {
    
    // @ts-ignore
    
    // window.showConsultModal && window.showConsultModal();
    
    // 钉钉预约演示跳转钉钉客服
    
    const trackerData = {
    
    offSiteCustomer: {
    
    actionName: "点击在线客服",
    
    actionGroup: "在线客服",
    
    productName: "学习中心",
    
    },
    
    footer: {
    
    actionName: "点击底部在线咨询",
    
    actionGroup: "在线咨询",
    
    productName: "学习中心",
    
    },
    
    rightFloating: {
    
    actionName: "点击右侧在线咨询",
    
    actionGroup: "在线咨询",
    
    productName: "学习中心",
    
    },
    
    
    };
    
    //判断name是否在trackerData里面,在的话就使用 ...trackerData[name]里面的
    
    if (trackerData[name]) {
    
    trackerAction({
    
    ...trackerData[name],
    
    actionName: name,
    
    actionGroup: "预约演示",
    
    productName: "OKR学习",
    
    });
    
    }
    
    };
  1. 防抖函数debounce对于高频率点击的函数,要让函数等待一定的时间才完成运行。以此来防止函数多次执行,造成内存泄漏。让debounce函数()内的代码运行完成后,再等待指定的时间之后,才能完成handleSee函数的执行。当在debounce函数()内的运行的过程中或者等待指定的时间期间内,再次调用了debounce函数,则让()里面的代码重新运行之后再等待指定的时间,直到没有其他调用打断函数的执行。

const handleSee = debounce(async (data) => {
try {
setIsPlayerVideo(true);
const res = await seeLearning(data.learningId);
if (res && res.Code === 1) {
setIsRead(true);
setShowNoticePop(false);
}
} catch (error) {
Toast.Error('error', { canClose: false });
}
}, 500);


http://www.kler.cn/a/134637.html

相关文章:

  • AtomicInteger 和 AtomicIntegerFieldUpdater的区别
  • 24/11/12 算法笔记<强化学习> Policy Gradient策略梯度
  • Gsensor加速度传感器数据异常及概率性卡死
  • vxe-table 3.10+ 进阶高级用法(一),根据业务需求自定义实现筛选功能
  • RHCE的学习(16)(shell脚本编程)
  • 【数理哲学】决定论与混沌理论
  • 后端技术知识点内容-全部内容-面试宝典-后端面试知识点
  • SBPL 打印机上传图片
  • 小程序如何添加打印机来打印订单
  • C进阶---文件操作
  • 根据音频绘制频谱
  • 基于像素特征的kmeas聚类的图像分割方案
  • 安全测试工具分为 SAST、DAST和IAST 您知道吗?
  • 【开源】基于Vue.js的智能教学资源库系统
  • GCC多平台编译会遇到小问题
  • Codewhisperer 使用评价
  • 机器学习技术栈—— 概率学基础
  • markdown 公式编辑
  • 用户运营:如何搭建用户分析体系
  • 三极管与mos管的区分与应用
  • RT-DETR优化改进:SEAM、MultiSEAM分割物与物相互遮挡、分割小目标性能
  • 零基础安装分布式数据服务注册系统
  • SpringCache
  • 【开源】基于JAVA的校园二手交易系统
  • 微服务和Spring Cloud Alibaba介绍
  • SpringBoot和Spring的区别是什么?