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

使用RequireJS加载React时出现‘React is not defined’错误的原因?

为什么会出现「React is not defined」错误?

嘿,这个问题其实是RequireJS模块加载的常见小坑!问题的核心在于你没有正确接收RequireJS加载后的模块引用。

你看这段代码:

require(['react', 'react-dom'], function () {
    var x = React;//Error - React is not defined
});

当RequireJS加载完你指定的react和react-dom模块后,会把这两个模块的导出值按顺序传递给回调函数,但你的回调函数里没有定义对应的参数来接收它们。而且React的UMD生产版本在RequireJS环境下,会遵循AMD规范只通过模块导出返回,不会自动把React挂载到全局作用域,所以你直接访问全局的React变量自然会报错。

只要给回调函数加上对应顺序的参数,就能正常获取模块引用了:

require(['react', 'react-dom'], function (React, ReactDOM) {
    var x = React; // 现在可以正常访问React了
    // 后续也能使用ReactDOM进行DOM渲染等操作
});

简单来说,就是要让RequireJS把加载好的模块“递”到你手里,而不是等着它自己跑到全局里~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 03:18:40