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

NextJS服务端渲染中react-tooltip的Tooltip无法作为JSX组件报错求助

解决Next.js服务端渲染中react-tooltip的'Tooltip' cannot be used as a JSX component错误

以下是几种可行的排查和解决方法:

  • 版本兼容性检查
    react-tooltip不同版本对React/Next.js的版本要求不同,比如v5及以上需要React 16.8+。先运行npm list react-tooltip react查看当前版本,若不匹配:

    • 升级react-tooltip到最新兼容版:npm install react-tooltip@latest
    • 若项目React版本无法升级,安装适配旧版的react-tooltip:npm install react-tooltip@4.x
  • 清理依赖与类型缓存
    TypeScript的类型缓存或损坏的依赖可能引发该问题:

    • 删除node_modules和锁文件:rm -rf node_modules package-lock.json yarn.lock
    • 重新安装依赖:npm install
    • 清除TypeScript缓存:npx tsc --clean
  • 修正导入方式
    react-tooltip v5+改用默认导出,不再支持命名导入,如果你装的是新版本,要把导入代码改成:

    import Tooltip from 'react-tooltip'
    

    只有v4及以下版本才用import { Tooltip } from 'react-tooltip'的命名导入方式。

  • 适配Next.js服务端渲染
    服务端渲染环境下,Tooltip组件可能因DOM相关逻辑报错,用Next.js的动态导入关闭SSR:

    import dynamic from 'next/dynamic'
    const Tooltip = dynamic(() => import('react-tooltip'), { ssr: false })
    
  • 处理类型包冲突
    react-tooltip v5+已经内置类型定义,不需要单独安装@types/react-tooltip,反而会造成类型冲突,直接卸载:npm uninstall @types/react-tooltip
    如果是旧版本,确保@types/react-tooltip的版本和react-tooltip主包版本一致,比如安装对应版本:npm install @types/react-tooltip@4.x

内容的提问来源于stack exchange,提问作者Kyle H

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 00:58:15