[BUG]运算符“<”不能应用于类型“boolean”和“RegExp” 或者 未终止的正则表达式字面量

97 阅读1分钟

@TOC

问题

背景:

报错信息

1. 运算符“<”不能应用于类型“boolean”和“RegExp”。ts(2365)
2. 未终止的正则表达式字面量。ts(1161)

报错代码

export function IconCloud({ iconSlugs }: DynamicCloudProps) {
  // 使用 useState 钩子初始化 data 状态,类型为 IconData 或 null
  const [data, setData] = useState<IconData | null>(null);
  
  // 使用 useTheme 钩子获取当前主题
  const { theme } = useTheme();

  // 使用 useEffect 钩子在组件挂载时或 iconSlugs 变化时获取图标数据
  useEffect(() => {
    fetchSimpleIcons({ slugs: iconSlugs }).then(setData);
  }, [iconSlugs]);

  // 使用 useMemo 钩子缓存渲染的图标,避免不必要的重新渲染
  const renderedIcons = useMemo(() => {
    // 如果没有数据,返回 null
    if (!data) return null;

    // 遍历图标数据并渲染每个图标
    return Object.values(data.simpleIcons).map((icon) =>
      renderCustomIcon(icon, theme || "light"),
    );
  }, [data, theme]);
//=========报错/=========
  // 返回一个包含图标云的 JSX 元素
  return (
    <Cloud {...cloudProps}>
      {renderedIcons}
    </Cloud>
  );
//=========报错/=========
}

问题截图

在这里插入图片描述

解决方案

修改文件的.ts后缀为tsx

在这里插入图片描述 问题解决

总结

  1. tsx 和ts后缀 对于代码检查的规范不同, 文件中是 tsx代码不兼容,导致提醒报错
  2. 目前来看, 最大的困难报错还是文件本身或者目录, 这种问题及时AI介入, 也没有办法理解清楚上下文

另外打个广告, 欢迎大家加我飞书或者vx扩列, 什么都可以聊,比较open, 希望能认识一些新朋友~ www.cnblogs.com/DarkChink/p…