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

React项目构建报错:useContext/createContext未导出的解决咨询

解决React-Redux中useContext/createContext未导出的问题

1. 确认React版本达标

React的useContext(React 16.8+)和createContext(React 16.3+)属于特定版本才有的API,先检查package.json里的react和react-dom版本:

  • 版本低于16.8.0的话,直接升级到稳定兼容版,比如^18.2.0:
    npm install react@^18.2.0 react-dom@^18.2.0
    

2. 匹配React与React-Redux的版本对应关系

React-Redux和React版本绑定严格,别盲目降级,对应关系如下:

React版本兼容的React-Redux版本
React 18v8.0.0+
React 17v7.2.6+ / v8.x
React 16.8-16.xv7.x

根据你的React版本安装对应React-Redux,比如React 18搭配v8:

npm install react-redux@^8.1.3

3. 修正Vite配置的React解析问题

打开vite.config.mts,排查是否存在错误的路径配置导致React模块解析异常:

  • 移除任何将react指向错误路径的resolve.alias配置
  • 添加正确的React解析规则,确保Vite能找到node_modules里的React包:
    import { defineConfig } from 'vite'
    import react from '@vitejs/plugin-react'
    
    export default defineConfig({
      plugins: [react()],
      resolve: {
        extensions: ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json'],
        alias: {
          'react': require.resolve('react'),
          'react-dom': require.resolve('react-dom')
        }
      }
    })
    

4. 清理依赖缓存并重装

缓存可能导致依赖版本不匹配,执行以下步骤:

  • 删除依赖文件夹和锁文件:
    rm -rf node_modules package-lock.json
    
  • 重新安装依赖:
    npm install
    

5. 检查代码中的导入方式

确保项目中没有错误的React导入写法:

  • 错误示例:import { useContext } from 'react/index.js'
  • 正确写法:import { useContext, createContext } from 'react'

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 06:27:31