![](/img/trans.png)
[英]webpack, react and babel: Uncaught TypeError: Super expression must either be null or a function, not undefined
[英]Uncaught TypeError: Super expression must either be null or a function, not undefined (React.js, Flux, ES6)
我一直在将一个简单的React项目从ES5转换为ES6、7,但是遇到了一个问题。 打开index.html时出现此错误:
我研究了一些常见的修复方法:
(15应该拥有完整的ES6支持吗?)
resultConstants.js
export const RESULTS = {
RECEIVED_SEARCH: "RECEIVED_SEARCH",
RECEIVED_RESULTS: "RECEIVED_RESULTS"
};
dispatcher.js
import { Dispatcher } from 'flux';
const AppDispatcher = new Dispatcher();
export default AppDispatcher;
但是我仍然没有真正看到这个问题。 这是引起问题的商店。
import AppDispatcher from '../dispatcher/dispatcher';
import { RESULTS } from '../constants/resultConstants';
import { FluxStore } from 'flux';
let _query = 'restaurant',
_results = [];
const _mapOptions = {
...
};
class ResultStore extends FluxStore {
query() {
return _query;
}
mapOptions() {
return _mapOptions;
}
all() {
return _results.slice(0, 9);
}
__onDispatch(payload) {
switch(payload.type) {
case RESULTS.RECEIVED_SEARCH:
_resetQuery(payload.search.query)
_resetCenter(payload.search.center);
resultStore.__emitChange();
break;
case RESULTS.RECEIVED_RESULTS:
_resetResults(payload.results);
resultStore.__emitChange();
break;
default:
return;
}
}
}
function _resetQuery (query) {
_query = query;
}
function _resetCenter (center) {
_mapOptions.center = center;
};
function _resetResults (results) {
_results = results;
};
export const resultStore = new ResultStore(AppDispatcher);
为了清楚起见,即使我包含以下代码段:
constructor() {
super();
}
它仍然会出现此错误。
问题
显然,从不存在的类扩展类时,没有错误。 因此,当super被调用但没有父对象时,会出现以下错误:Uncaught TypeError:Super表达式必须为null或函数,且未定义。
通常是由于扩展您拼写错误或由于顺序而导致您未加载的类引起的(扩展类必须写在扩展类下面)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.