debugtypescriptreactCritical
Cannot find namespace 'ctx' error when creating Context with react - typescript
Viewed 0 times
errorcreatingwithtypescriptfindcontextctxreactwhencannot
Problem
I'm working on a project with
This one specifically I got from here: https://github.com/typescript-cheatsheets/react-typescript-cheatsheet I'm trying to use the same that is showing in the Context section.
The issue is that everytime it says that there's this error
Cannot find namespace
I'm still not able to figure out why, someone can see if I'm doing something wrong here? This is my tsconfig.json:
Any help would be appreciated!
react using typescript and I'm having a bad time figuring out why this error is happening, basically, I can't use any createContext examples that I found on the internet because of this.This one specifically I got from here: https://github.com/typescript-cheatsheets/react-typescript-cheatsheet I'm trying to use the same that is showing in the Context section.
import * as React from "react";
export function createCtx(defaultValue: A) {
type UpdateType = React.Dispatch>;
const defaultUpdate: UpdateType = () => defaultValue;
const ctx = React.createContext({
state: defaultValue,
update: defaultUpdate
});
function Provider(props: React.PropsWithChildren) {
const [state, update] = React.useState(defaultValue);
return ;
}
return [ctx, Provider] as [typeof ctx, typeof Provider];
}The issue is that everytime it says that there's this error
Cannot find namespace
ctx in the line: return ;I'm still not able to figure out why, someone can see if I'm doing something wrong here? This is my 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"
]
}Any help would be appreciated!
Solution
Your file extension is most likely
Therefore TypeScript is interpreting
.ts instead of .tsx.Therefore TypeScript is interpreting
<ctx.Provider as cast and tries to find a type Provider in the namespace ctx.Context
Stack Overflow Q#57242264, score: 716
Revisions (0)
No revisions yet.