在尝试启动我的应用程序时,我发现React或ReactDOM都未定义。
这是在使用es2015 import
语法时,使用babel进行预处理。
使用常规require
它可以很好地加载。
代码片段是这样的:
import $ from 'jquery';
import React from 'react';
import ReactDOM from 'react-dom';
import SearchForm from './utils/components.jsx';
$(function () {
var form = $('#search-form');
ReactDOM.render(<SearchForm />, form.get(0)); // react is undefined. raises InvariantViolation
})
实际回溯如下所示:
Uncaught Invariant Violation: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: object.
这看起来像是一个反应错误,但在违规行中使用断点(在ReactDOM
之前)并尝试评估React
或ReactDOM
它返回undefined
,对于$或同一模块中的任何其他导入,它不一样。
是什么给出了?