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

React中Provider无法作为JSX组件使用的TS2786错误求助

修复Redux Provider的TypeScript类型不兼容错误

这个错误的核心原因是项目中存在多个版本的React类型定义,导致ReactNode类型来自不同的@types/react包,出现类型不匹配。以下是具体修复方案:

  • 清理重复的React类型依赖

    1. 执行命令查看项目中@types/react的版本和依赖来源:
      npm ls @types/react
      
    2. 删除项目根目录下的node_modules文件夹和package-lock.json(使用yarn则删除yarn.lock)
    3. 在package.json的devDependencies中明确指定统一的@types/react和@types/react-dom版本,示例:
      "devDependencies": {
        "@types/react": "^18.2.0",
        "@types/react-dom": "^18.2.0"
      }
      
    4. 重新执行npm install
  • 确保react-redux与React版本兼容
    React 18需要搭配react-redux v8.x及以上版本,React 17对应react-redux v7.x。执行命令更新到兼容版本:

    npm install react-redux@latest
    
  • 清除TypeScript缓存
    执行命令清除TypeScript的缓存,避免旧类型定义残留:

    npx tsc --clearCache
    
  • 合并重复依赖
    如果第三方包(如Apollo Client、react-router-dom)自带旧版本@types/react,执行命令自动合并重复依赖:

    npm dedupe
    

完成以上步骤后,重新编译项目,即可验证错误是否解决。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 19:45:56