You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React自定义Icon组件switch语句case语法标红报错如何解决?

Icon组件switch语法报错排查与解决方案

错误原因

  • switch逻辑直接写在了<div>的JSX标签内部,不符合React JSX语法规范:JSX中嵌入JavaScript表达式/逻辑必须包裹在{}中,否则编辑器会将switch识别为普通文本内容,抛出expression expected错误。
  • switch语句本身语法存在多处错误:
    1. 缺少switch结构的闭合大括号}
    2. case 'crcle'分支下重复写了return语句,且crcle为拼写错误,正确应为circle

修复方案

完整可运行代码

首先确保你已经安装了react-icons依赖,且在文件顶部导入了对应的图标组件:

import { FaRegCircle, FaTimes, FaPen } from 'react-icons/fa';

const Icon = ({ name }) => {
  return (
    <div>
      {
        switch (name) {
          case 'circle':
            return <FaRegCircle className="Icons" />
          case 'cross':
            return <FaTimes className="Icons" />
          default:
            return <FaPen className="Icons" />
        }
      }
    </div>
  );
};
export default Icon;

补充优化建议

也可以直接去掉外层多余的<div>标签,代码更简洁:

import { FaRegCircle, FaTimes, FaPen } from 'react-icons/fa';

const Icon = ({ name }) => {
  switch (name) {
    case 'circle':
      return <FaRegCircle className="Icons" />
    case 'cross':
      return <FaTimes className="Icons" />
    default:
      return <FaPen className="Icons" />
  }
};
export default Icon;

内容的提问来源于stack exchange,提问作者jaydeep bhattacharya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 01:00:02