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

使用semantic-ui-react导入组件时触发Type Error: Cannot read property 'call' of undefined求助

解决semantic-ui-react组件导入后出现Type Error: Cannot read property 'call' of undefined的问题

我之前也踩过这个坑!这种报错在使用semantic-ui-react的Button等组件时出现,通常和几个常见问题有关,咱们一步步来排查和解决:

1. 先修复代码里的语法错误

看你贴的代码,FormComponent类的render方法末尾少了一个闭合花括号},这会导致整个组件的语法结构错误,进而引发运行时的奇怪报错。修正后的完整代码应该是:

import React, { Component } from 'react'
import { Button } from 'semantic-ui-react'

class FormComponent extends Component {
  render() {
    return (
      <div styleName="container">
        <Button>Click Here</Button>
      </div>
    )
  } // 补上这个缺失的花括号
}

export default FormComponent

这种“隐形”的语法错误有时候不会给出明确提示,反而会抛出类似call of undefined的模糊错误,先把这个问题解决再说。

2. 确认已正确引入Semantic UI的CSS样式文件

semantic-ui-react本身只提供组件的逻辑,不包含样式代码。如果没有引入对应的CSS,不仅组件会没有样式,还可能导致组件初始化失败,抛出异常。

你需要在项目的入口文件(比如index.js或者App.js)中添加以下导入语句:

import 'semantic-ui-css/semantic.min.css'

如果还没安装semantic-ui-css包,先执行安装命令:

npm install semantic-ui-css

3. 检查依赖版本兼容性

有时候semantic-ui-react和你的react、react-dom版本不兼容也会导致这类错误。比如旧版本的semantic-ui-react可能不支持React 18,反之亦然。

可以尝试重新安装依赖来解决版本冲突:

rm -rf node_modules package-lock.json
npm install

如果还是不行,可以指定一个和你React版本兼容的semantic-ui-react版本,比如React 17可以安装2.1.2版本:

npm install semantic-ui-react@2.1.2

4. 排查其他潜在问题

  • 如果你使用了styleName属性,确认是否配置了CSS Modules(比如在webpack中),如果没配置的话,styleName不会生效,不过这一般不会导致你遇到的这个错误,但也可以顺便检查一下。
  • 确保你的React项目环境配置正常,比如babel的版本是否支持JSX语法,webpack的loader是否正确配置。

内容的提问来源于stack exchange,提问作者Igor-Vuk

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 06:52:31