Next.js — getStaticProps возвращает неопределенный

#typescript #next.js

#машинописный текст #next.js

Вопрос:

Я пытаюсь извлечь данные из Api с помощью GraphQL, но успешно только на стороне сервера, на стороне клиента я получаю undefined

Типы

 export type LogoProps = {
  alternativeText: string
  url: string
}


export type LandinPageProps = {
  logo: LogoProps
}

 

Index.tsx

 const Index = ({ logo }: LandinPageProps) => (
  console.log(logo),      <<-------- undefined fetch
  (
    <>
 <SectionHero logo={logo} />
    </>
  )
)
 
 export const getStaticProps: GetStaticProps = async () => {
  const landinPage = await client.request(GET_LANDING_PAGE)

  console.log(landinPage) <<-------- success fetch
  return {
    props: {
      ...landinPage
    }
  }
}

export default Index

 

Ответ GraphQL

 
{
 landinPage: {
   logo: {
     alternativeText: 'React Avançado',
     url: '/uploads/logo_74e2fdc755.svg'
   }
 }
}

 

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

1. Пожалуйста, покажите содержимое landinPage ? Возможно, типы не совпадают.

2. спасибо за ответ следуйте приведенному ниже коду, github.com/GorillazJS/landingpage/blob/master/src/pages /…

3. Попробуйте const { LandingPage} = await blablabla … LandingPage — это свойство возвращаемого значения, вы не разрушаете правильную переменную.

4. @Morphyish большое вам спасибо, все работает нормально = DD