React16→17へアップデートしたのですが、必要なコンポーネントのみimportするような変更があったように記憶しています。
軽量化のためReact本体のimportは削除したのですが、React is not definedになります。
VScode上でも、'React' が宣言されていますが、その値が読み取られることはありません。 となります。
全てのファイルにimportすれば良いのですが気になりまして、ご存知の方がおりましたらご教授願います。
import { useContext, useEffect, FC, ReactNode } from "react"; import React, { useContext, useEffect, FC, ReactNode } from "react"; ↑ 必須??
import React は不要なはずですが、React is not defined というエラーは、何をした時に、どの行に対して出るのでしょうか?
ご回答ありがとうございます。
Reactをimportしただけでは無理でした・・・
レンダリング時にMobxのObserverを使う箇所でエラーになっているようです。
mobxを5→6、mobx-reactを6→7アップデートしたのですが、アップデート前は大丈夫でしたのでObserverの使い方が変わったのかもしれません。
エラー箇所
```
const PinnedStream: FC<{}> = () => {
const store = useContext(StoreContext);
const { room } = store;
return (
<Observer>
{() => {
if (room.pinnedStream === null) {
エラー箇所→ return <></>;
}
return <Video stream={room.pinnedStream} isVideoOnly={true} />;
}}
</Observer>
);
};
```
エラー内容
```
Uncaught ReferenceError: React is not defined
at pinned-stream.tsx:16
at useObserver.js:115
at trackDerivedFunction (mobx.esm.js:1793)
at Reaction.track (mobx.esm.js:2337)
at useObserver (useObserver.js:113)
at ObserverComponent (ObserverComponent.js:8)
at renderWithHooks (react-dom.development.js:14985)
at mountIndeterminateComponent (react-dom.development.js:17811)
at beginWork (react-dom.development.js:19049)
at HTMLUnknownElement.callCallback (react-dom.development.js:3945)
```
回答1件
あなたの回答
tips
プレビュー