[解決済み] ReactJS giving error Uncaught TypeError: Super expression は null か関数でなければならず、undefined ではありません。
質問
ReactJSを使用しています。
下のコードを実行すると、ブラウザはこう言います。
Uncaught TypeError: Super expression は null か関数でなければならず、undefined ではありません。
何が問題なのか、少しでもヒントがあればありがたいのですが。
まず、コンパイルに使用した行です。
browserify -t reactify -t babelify examples/temp.jsx -o examples/public/app.js
そして、そのコード。
var React = require('react');
class HelloMessage extends React.Component {
render() {
return <div>Hello </div>;
}
}
UPDATE この問題で3日間地獄の炎に焼かれた後、私はreactの最新バージョンを使っていないことを発見しました。
グローバルにインストールします。
sudo npm install -g [email protected]
をローカルにインストールします。
npm install [email protected]
ブラウザのバージョンも正しくしてください。
<script type="text/javascript" src="react-0.13.2.js"></script>
これで誰かの3日間の貴重な命が救われることを祈っています。
解決するには?
クラス名
まず、正しい名前のクラスから拡張していることが確実な場合、例えば、以下のようになります。 React.Component React.componentやReact.createComponentではなく、Reactのバージョンアップが必要な場合があります。拡張するクラスの詳細については、以下の回答を参照してください。
Reactのアップグレード
Reactはバージョン0.13.0以降、ES6スタイルのクラスのみをサポートしています(サポート導入に関する公式ブログポストを参照)。 こちら .
その前に、使用する場合。
class HelloMessage extends React.Component
は、ES6 のキーワードを使おうとしていた (
extends
を使用して定義されていないクラスからサブクラス化することができます。
class
. で奇妙な動作に遭遇するのは、おそらくこれが原因です。
super
の定義など。
そう、そうなんです。 TL;DR - React v0.13.xにアップデートしてください。
円形依存性
また、循環型のインポート構造をとっている場合にも発生する可能性があります。あるモジュールが別のモジュールをインポートしていたり、その逆もあります。この場合、これを避けるためにコードをリファクタリングする必要があります。 詳細情報
関連
-
[解決済み】 Uncaught Error: Invariant Violation: 解決済み】 Uncaught Error: Invariant Violation: Element type is invalid: expected a string (for built-in components) or a class/function but got: object.
-
[解決済み] Jestの `beforeEach` グローバルは何のためにあるのですか?
-
[解決済み] react-router-domを使用する際に「Function components cannot be given refs」を回避するにはどうすればよいですか?
-
[解決済み] material-ui-pickers KeyboardDatePicker をモーメントで使用するには?
-
[解決済み] sh: react-scripts: npm start の実行後にコマンドが見つからない。
-
[解決済み] React JS Jestで「SyntaxError: 予期しないトークン"
-
[解決済み] カスタマイズ素材UI チェックした場合としない場合の切り替え
-
[解決済み] ReactJS - SCRIPT1010: 期待される識別子 - IE11 で本番ビルドが実行されない
-
[解決済み] Reactプロジェクトに.envファイルを追加する
-
[解決済み] React - uncaught TypeError: 未定義のプロパティ 'setState' を読み取れない
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】<Router>の外側で<Link>を使用してはならない
-
[解決済み】Reactでclsxを使用する方法
-
[解決済み】Warning.Itが表示されるのはなぜですか?Functions are not valid as a React child?
-
[解決済み] react-router-domを使用する際に「Function components cannot be given refs」を回避するにはどうすればよいですか?
-
[解決済み] material-ui-pickers KeyboardDatePicker をモーメントで使用するには?
-
[解決済み] MUI Boxは何のためのコンポーネントですか?
-
[解決済み] Angular 2の*ngForのReactでの同等品
-
[解決済み] React - 予想外のトークン、予想外の;
-
[解決済み] AxiosにCORSの問題が発生
-
[解決済み] create-react-appビルドスクリプトを実行する際に、ビルド.env変数を設定するには?