Ошибка NextJS / Typescript / Apollo; свойство не существует по типу - PullRequest
1 голос
/ 29 марта 2020

Я довольно новичок в Next JS и Typescript, и я внедряю безголовый CMS Strapi, но у меня возникают проблемы с использованием Apollo. Я искал в Google все выходные, чтобы попытаться понять эту проблему лучше. Я надеюсь, что кто-то может помочь мне здесь.

Ошибка

Получение следующей ошибки в моем _app.tsx

Property 'apollo' does not exist on type 'AppPropsType<Router, {}>'.

Ошибка происходит на моем MyApp функция ниже.

My _app.tsx

import * as React from 'react'
import { AppProps } from 'next/app'
import { ApolloProvider } from '@apollo/react-hooks'
import withData from '../../utils/apollo'

import 'circular-std'
import 'react-multi-carousel/lib/styles.css'
import '../scss/styles.scss'

function MyApp({ Component, pageProps, apollo }: AppProps) {
  return (
    <ApolloProvider client={apollo}>
      <Component {...pageProps} />
    </ApolloProvider>
  )
}

export default withData(MyApp)

Соответствующее Учебное пособие по настройке Strapi здесь в разделе 3 Front-end Setup.

1 Ответ

1 голос
/ 29 марта 2020

Ошибка, которую вы получаете, правильно говорит вам, что AppProps из Next JS не имеет свойства apollo, потому что Next JS ничего не знает об apollo. Apollo - это другая библиотека.

Чтобы настроить ApolloProvider, вам нужно создать своего клиента, как описано в документации Apollo . Как то так:

const client = new ApolloClient({
  uri: 'https://48p1r2roz4.sse.codesandbox.io',
});

function MyApp({ Component, pageProps }: AppProps) {
  return (
    <ApolloProvider client={client}>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...