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, 希望能认识一些新朋友~
https://www.cnblogs.com/DarkChink/p/18598402

故天将降大任于是人也,必先苦其心志,劳其筋骨,饿其体肤,空乏其身,行拂乱其所为,所以动心忍性,曾益其所不能。听之语,慷慨愤然之气付之东,欣欣然若垂髫之貌——一言以蔽之:虽然我遇到了问题但是我很高兴;直接上图: 应该有人一看就知道哪里错了,但是有一句话加做:当局者迷;看到这个问题 (⊙﹏⊙)b WHAT? 通过上网查,看到了好多错误,顿时有一些释然,但是在众多网页中都一些文不对题
JSON(Working with JSON) 在前面的笔记中提到过,不推荐盲目的使用eval()去解析JSON字符串,因为可能存在安全问题。 最好是使用JSON.parse()方法,这方法从ES5成为语言的一个标准,并且在绝大多数浏览器的JavaScript引擎都提供。 对于旧的JavaScript引擎,可以使用JSON.org库(http://www.json.org/json2.js)
±*%/ :与Number类型运算可以转换为number类型再进行运算 特:+用于字符串可以拼串,且拼串优先于做加法 总结:"+"String优先于Number,其他无字符串功能Number为最高优先级 一元运算符 +(正),-(负)可以用于转为Number类型。 自增,自减 ++,–,同理 逻辑运算符 赋值运算符 =,+=,… 关系运算符 <,>,=,<=,>= 比字符串:一个一个字符进行比较,而不是比较长度 相等运算符
JavaScript语言因为其灵活,怎么写都不会错的特点深受开发人员喜爱,然而过于灵活也会导致一些难以排查的bug。好的代码风格能够帮我们解决这些问题(typeScript:没错,正是在下!)雾~~ 代码检查是一种静态的分析,常用于寻找有问题的模式或者代码,并且不依赖于具体的编码风格。eslint附有大量开箱即用的配置规则帮助我们检查代码,但每次需要翻阅长长的文档颇为麻烦,我根据网络把大部分能用...
报语法错误:Operator '&' cannot be applied to 'int', 'boolean' Java中关系运算符优先级大于逻辑运算符,所以先算1 == 1得true。&左右是布尔类型时会进行布尔运算,否则进行位运算。int & boolean显然不行。 正确做法是: if ((x &a...
模板字面量基本语法多行字符串ES6 之前的权宜之计多行字符串的简单解决方法制造替换位标签化模板使用模板字面量中的原始值总结 JS 的字符串相对其他语言来说功能总是有限的。为了让开发者能够解决复杂的问题, ES6 的模板字面量( template literal )提供了创建领域专用语言( domain-specific language , DSL )的语法,与 ES5 及更早版本的解决方案相比,处理内容可以更安全(领域专用语言是 被设计用于特定有限目的的编程语言,与通用目的语言如 JavaScript
何谓“中国式排名”呢? 在排名计算方法中,中国人的习惯是,无论有几个并列第2名,之后的排名仍应该是第3名,即并列排名不占用名次。 例如:对数列{3,2,2,1}从大到小进行排名,按国际通行的惯例是{第一名,第二名,第二名,第四名}, 比如奥运会某场比赛出现并列银牌,则不发铜牌, 而按中国式排名,结果是{第一名,第二名,第二名,第三名}。