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

React集成i18next后报错:TypeError: react.createContext不是函数

解决React 15.6 + react-i18next 抛出 createContext is not a function 的问题

问题根源

这个报错的核心原因非常清晰:你当前项目用的是React 15.6.x,但你引入的react-i18next新版本依赖了React.createContext API——而这个API是React 16.3版本才正式推出的,React 15.x根本没有这个方法,所以打包后运行时直接触发了TypeError。

可行解决方案

根据你的项目情况,推荐两个方向:

1. 降级react-i18next到兼容React 15的版本

react-i18next从v10.x开始就要求React 16.3+,所以你需要锁定v9.x的稳定版本(搭配i18n v15.x):

# 使用npm安装
npm install react-i18next@9.x i18next@15.x --save

# 或者用yarn
yarn add react-i18next@9.x i18next@15.x

降级后,你之前参考的官方快速启动配置基本可以沿用,只是部分API细节要对应v9版本(比如withNamespaces的用法和v10+差异不大,不用大幅修改代码)。

2. 升级React到16.3+版本(长期推荐)

如果项目允许升级,这是更彻底的解决方案,不仅能解决i18n的问题,还能用上React后续的诸多新特性:

# npm升级
npm install react@^16.3 react-dom@^16.3 --save

# yarn升级
yarn add react@^16.3 react-dom@^16.3

升级后记得检查项目中其他依赖的兼容性,比如react-redux需要v5.x及以上版本才能适配React 16,你当前的项目应该已经满足,但最好确认一下。

额外说明

你怀疑和Webpack有关,其实Webpack本身不是问题所在。不过可以确认一下你的babel配置:你当前用的babel-preset-react@6.24.1是兼容React 15的,不需要额外调整,只要React版本或react-i18next版本到位,就能正常编译运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 09:14:08