reactでContextを作成する際にCannot find namespace 'ctx' error - typescript
2023-11-01 21:40:35
質問
私は、プロジェクトで
react
を使用しています。
typescript
を使っているのですが、なぜこのエラーが起きるのかがわからず、困っています。
createContext
の例は、このためにインターネット上で見つけることができません。
これは特にここから得たものです。
https://github.com/typescript-cheatsheets/react-typescript-cheatsheet
私はContextセクションで表示されている同じを使用しようとしています。
import * as React from "react";
export function createCtx<A>(defaultValue: A) {
type UpdateType = React.Dispatch<React.SetStateAction<typeof defaultValue>>;
const defaultUpdate: UpdateType = () => defaultValue;
const ctx = React.createContext({
state: defaultValue,
update: defaultUpdate
});
function Provider(props: React.PropsWithChildren<{}>) {
const [state, update] = React.useState(defaultValue);
return <ctx.Provider value={{ state, update }} {...props} />;
}
return [ctx, Provider] as [typeof ctx, typeof Provider];
}
問題は、毎回このようなエラーが発生することです。
名前空間が見つかりません
ctx
というエラーが出ます。
return <ctx.Provider value={{ state, update }} {...props} />;
私はまだ理由を理解することはできません、誰か私がここで何か間違ったことをしている場合は、参照してください?これは私のtsconfig.jsonです。
{
"compilerOptions": {
"target": "es5",
"lib": [
"dom",
"dom.iterable",
"esnext"
],
"allowJs": true,
"skipLibCheck": true,
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
"strict": false,
"forceConsistentCasingInFileNames": true,
"module": "esnext",
"moduleResolution": "node",
"resolveJsonModule": true,
"isolatedModules": true,
"noEmit": true,
"jsx": "preserve",
"noImplicitAny": false,
"strictNullChecks": false
},
"include": [
"src"
]
}
どんな助けでも感謝します!
どのように解決するのですか?
あなたのファイルの拡張子は、おそらく
.ts
ではなく
.tsx
.
したがって、TypeScriptは
<ctx.Provider
をキャストと解釈し、型
Provider
を名前空間
ctx
.
関連
-
[解決済み】React 17で動作するEnzymeアダプターはどれですか?
-
[解決済み] TypeScript getting error TS2304: cannot find name ' require'.
-
[解決済み] React JSでは、状態を直接変異させない、setState() react/no-direct-mutation-stateを使用する。
-
[解決済み] AxiosにCORSの問題が発生
-
[解決済み] ESLintとTSLintの違い【クローズド】について
-
[解決済み] noImplicitAnyフラグを有効にしてtypescriptをコンパイルすると、"Index signature of object type implicitly has an 'any' type "というエラーが発生しますが、どうすれば防ぐことができますか?
-
[解決済み】AngularとTypescript。名前を見つけることができない - エラー:名前を見つけることができません。
-
[解決済み】ReactでTypescriptを使ってrefを使用する方法
-
[解決済み] TypeScript Reactで画像をインポートする - "Cannot find module".
-
Typescript - Reactコンポーネントで "Cannot find name "エラー
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] エラー: 未定義のプロパティ 'map' を読み取ることができません。
-
[解決済み] FontAwesomeの無料パッケージに含まれているアイコンのオブジェクト名はどこにあるのですか?
-
[解決済み] configuration.module に未知のプロパティ 'loaders' があります。
-
[解決済み] material-ui-pickers KeyboardDatePicker をモーメントで使用するには?
-
[解決済み] Uncaught (in promise) Error: リクエストに失敗、ステータスコード404
-
[解決済み] カスタマイズ素材UI チェックした場合としない場合の切り替え
-
[解決済み] react.jsでng-ifに相当するものは何ですか?
-
[解決済み] eslint: no-case-declaration - case ブロックで予期しない字句の宣言があった。
-
[解決済み] 矢印本体を囲む予期せぬブロックステートメント
-
[解決済み] Static HTML elements with event handlers require a role." を修正するにはどうすればよいですか?