Свойство NextJS ‘Component’ не существует для типа ‘App’

#reactjs #typescript #next.js

#reactjs #машинопись #next.js

Вопрос:

Я использую NextJS с Typescript, и когда я пытаюсь собрать код, я получаю следующую ошибку в файле _app.tsx:

Свойство «Компонент» не существует для типа «Приложение<{}, {}, {}>’.

Я получаю компонент из AppProps типа (‘next / app’), это код:

 import React from "react";
import { CssBaseline } from "@material-ui/core";
import { ThemeProvider } from "@material-ui/core/styles";
import theme from "../themes";
import AppProps from "next/app";

export default function MyApp({ Component, pageProps }: AppProps) {
  return (
    <ThemeProvider theme={theme}>
      <CssBaseline />
      <Component {...pageProps} />
    </ThemeProvider>
  );
}
 

Есть какие-нибудь мысли?

Комментарии:

1. Просматривая документы Typescript, которые вы должны уничтожать AppProps при импорте: nextjs.org/docs/basic-features/typescript#custom-app

2. Вот и все, в конце концов, это было легко исправить. Большое вам спасибо!

Ответ №1:

AppProps должны быть удалены из «next / app» как обычный экспорт, а не как экспорт по умолчанию. Вот один из примеров этого:

 import '../styles/globals.css';
import { AppProps } from 'next/app';

function MyApp( { Component, pageProps }: AppProps ) {
    return <Component {...pageProps} />;
}
 

Обратите внимание на символы «{ }» вокруг импорта AppProps.

Надеюсь, это поможет вам!