I upgraded to React 18 and things compiled fine. Today it seems every single component that uses children is throwing an error. Property 'children' does not exist on type 'IPageProps'.
Before children props were automatically included in the FC
interface. Now it seems I have to manually add children: ReactNode
. What is the correct typescript type for react children?
Is this part of the React 18 update, or is something screwed up in my env?
package.json
"react": "^18.0.0",
"react-dom": "^18.0.0",
"next": "12.1.4",
"@types/react": "18.0.0",
"@types/react-dom": "18.0.0",
tsconfig.json
{
"compilerOptions": {
"target": "esnext",
"lib": ["dom", "dom.iterable", "esnext"],
"allowJs": true,
"skipLibCheck": true,
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
"strict": true,
"forceConsistentCasingInFileNames": true,
"module": "esnext",
"moduleResolution": "node",
"resolveJsonModule": true,
"isolatedModules": true,
"noEmit": true,
"jsx": "preserve",
"alwaysStrict": true,
"sourceMap": true,
"incremental": true
},
"include": ["src"],
"exclude": ["node_modules"]
}
CodePudding user response:
It looks like the children
attribute on the typescript typings were removed.
I had to manually add children to my props; There is probably a better solution to fix this, but in the interim, this works.
CodePudding user response:
You can get some information from this issue: https://github.com/DefinitelyTyped/DefinitelyTyped/issues/46691