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

前端代码CR小知识点汇总

  1. 数据为空时:对象,可以传入 null;number 传入 undefined。
  2. 颜色相关放到 scss/less/css 文件里,方便后续主题修改或其他统一修改
  3. 表单校验或复杂逻辑 放到 try catch 里,避免产生无效报错
    • “最小范围” 包裹:只包裹 “可能抛出异常的代码段”,而非整个函数,避免捕获无关错误
    • “明确处理” 而非 “静默忽略”:捕获异常后,必须有具体动作(如提示用户、记录日志、使用默认值),不能只写 catch (err) {}(会导致问题隐藏)。
    • 核心:针对 “可能发生意外异常的代码段”(如数据转换、动态逻辑、依赖外部资源的操作),捕获后进行明确处理(提示用户、日志记录、降级策略)
  4. 合理减少可选链(?.)的使用
    // 原始代码(过度依赖可选链)
    const fetchUser = async () => {const res = await api.getUser();const username = res?.data?.user?.profile?.name; // 冗余,且掩盖数据结构问题const age = res?.data?.user?.age ?? 0;
    };
    
    • 明确 “必须存在” 与 “可能缺失”:只对 “设计上允许缺失” 的属性用可选链,对 “必须存在” 的属性通过校验 / 类型约束确保存在,主动暴露异常。
    • 控制可选链长度:避免连续 3 个以上的可选链(如a?.b?.c?.d),这种代码往往暗示数据结构设计不合理,应重构(如拆分对象、提前校验)。
  5. 三目运算符最多使用到两层
  6. JSX 的 Map函数返回Div 必须添加 key(无论是否出现增删场景),且禁止使用 index 索引当作 key 的值
  7. 减少魔法数字的使用, 避免出现在代码中没有明确含义的数字。例如 value.length > 20
  8. 常量Map统一管理
    • z-index 需要放到一个map里统一管理,避免层级冲突
      const Z_INDEX_MAP = {DRAWER: 100,FORM_FOOTER: 200
      }
      
    • 页面url的参数需要统一管理
      //url ?id=123&is_edit
      const URL_PARAMS_MAP = {ID:'id',IS_EDIT:"is_edit"
      }
      
    • 时间相关常量
    • 权限相关常量
    • 操作符相关常量
    • 步骤配置等
  9. 解构赋值时右侧如果有可能为空要给默认值,防止报错
    const obj = { value: null };
    // 错误写法:obj.value 是 null,无法解构
    const { a, b } = obj.value; 
    // 直接抛出错误:TypeError: Cannot destructure property 'a' of 'obj.value' as it is null.
    -----解决-----
    // 仅当 obj.value 是 null/undefined 时,才用 {} 兜底
    const { a, b } = obj.value ?? {}; // 或者obj.value || {}
    
http://www.dtcms.com/a/466691.html

相关文章:

  • 企业建站免费模板wordpress访问统计
  • 乐清建站公司做网站哪里最便宜
  • 什么是 Spring AI?Spring AI 入门教程
  • 在线课程网站开发的研究意义客户管理系统免费版
  • 台州宇洋台州网站建设手机在线视频
  • uniapp开发 APP嵌入另一个APP打包的wgt文件,实现点击携带参数跳转到wgtAPP的某一个页面
  • VS2010做网站登录页面步骤可以免费浏览的网站
  • DeepSeek Sparse Attention(DSA)快速洞察(DeepSeek-V3.2)
  • 山西建设银行官方网站wordpress 文章投票插件
  • C++ 模拟 力扣1576. 替换所有的问号 题解 每日一题
  • 安全联盟网站认证网络营销的认识
  • 基于SpringBoot+Vue的少儿编程培训机构管理系(WebSocket及时通讯、协同过滤算法、Echarts图形化分析)
  • 时序数据库promQL
  • 网站安全检测可以监测哪些内容风险信息宜春网站开发
  • 网站建设中企动力强成都那家网站建设好
  • RK3588 linux在uboot关机模式下待熄屏休眠后拔插适配器无反应屏幕也不会亮
  • 建设厅网站关于建筑资质合并wordpress速度很慢
  • 做网站的叫什么软件上海阿里巴巴做网站
  • Redis的Hash解析
  • 旅游业网站开发建设毕设做微课资源网站设计可以吗
  • 设计公司网站什么重要杭州工业设计
  • 【北京迅为】iTOP-4412精英版使用手册-第三十五章 WEB控制LED
  • 重庆seo整站优化报价福建建筑人才网官网
  • 教学信息化大赛网站建设作品永久免费国外ip代理
  • [嵌入式系统-93]: NVIDIA 正在从‘数据中心霸主’向‘端-边-云一体化AI平台’战略扩张。
  • 网站管理助手4.0域名备案查询管理系统
  • Oracle EBS ERP之报表开发—条件筛选按钮和组件开发
  • 济南网站建设与优化注册城乡规划师考试时间2023
  • 南通网站建设公司做品牌推广用什么网站
  • linux模拟压测CPU彪高到100%