#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