我正在使用rails-browserify與我的rails項目編譯reactJS應用程序。從mobx-react導入observer會導致「Uncaught TypeError:超級表達式必須爲null或函數,而不是未定義」
我節點的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 either 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? – Tholle
更新了原來的帖子。它們都是通過npm導入的,觀察者尚未實現,只能導入。即使我添加@observer裝飾器,問題仍然存在。 – codabrink
所以,如果你只是從mobx-react中刪除import語句,它的工作原理是什麼?這很奇怪... – Tholle