【发布时间】:2016-08-11 15:17:17
【问题描述】:
我在我的 rails 项目中使用rails-browserify 来编译 reactJS 应用程序。
我的节点 package.json 文件如下所示:
{
"dependencies": {
"babel-core": "^6.13.2",
"babel-loader": "^6.2.4",
"babel-plugin-transform-decorators-legacy": "^1.3.4",
"babel-preset-es2015": "^6.13.2",
"babel-preset-react": "^6.11.1",
"babel-preset-stage-1": "^6.13.0",
"babel-preset-stage-2": "^6.13.0",
"babelify": "^7.3.0",
"browserify": "^13.1.0",
"browserify-incremental": "^3.1.1",
"mobx": "^2.4.2",
"mobx-react": "^3.5.4",
"react": "^15.3.0",
"react-dom": "^15.3.0",
"react-router": "^2.6.1",
"webpack": "^1.13.1"
}
}
但是,每当我import { observer } from 'mobx-react',
我得到一个
Uncaught TypeError: Super expression must be null or a function, not undefined
这不会发生在我导入的任何其他库中。 react、mobx、react-dom 全部导入正常。如果您需要任何其他详细信息,请告诉我。任何帮助表示赞赏。我真的被难住了。
有问题的模块看起来像这样。我还没有在组件中使用 mobx-react,只导入了它。触发错误的是 import {observer} 行。
import React, { Component } from 'react';
import { observer } from "mobx-react";
export default class OnboardingHeader extends Component {
constructor(props) {
super(props);
this.state = {...}
}
}
【问题讨论】:
-
你是如何在 React 组件上使用观察者的?你是如何导入 React 的?
-
更新了原帖。它们都是通过 npm 导入的,并且观察者还没有实现,只是导入了。即使我添加了@observer 装饰器,问题仍然存在。
-
所以如果你只是从 mobx-react 中删除 import 语句,它可以工作吗?这很奇怪......
标签: ruby-on-rails node.js reactjs mobx browserify-rails