Next.js Amplify Serverless AppSync graphql (ошибка Amplify)

Я пытаюсь создать приложение, которое использует Amplify и AppSync с Next.js.

Мне удалось успешно развернуть приложение, но когда я пытаюсь получить доступ к приложению (пытаюсь получить данные из AppSync), происходит сбой.

Я немного потерял то, на что нужно смотреть, приложение, кажется, работает нормально локально, но когда я публикую его на AWS, оно терпит неудачу.

Я получаю сообщение об ошибке: TypeError: Невозможно прочитать свойство 'getName' неопределенного //quotes.js

import { Connect } from 'aws-amplify-react';
........
<Connect
query={graphqlOperation(queries.getName)}
subscription={graphqlOperation(subscriptions.onCreateName)}
onSubscriptionMsg={(prev, { onCreateName }) => ({
...prev,
getName: {
...prev.getName,
items: [
...prev.getName.items,
onCreateName,
],
},
})}

>

Кто-нибудь сталкивался с такой проблемой или есть какие-либо идеи для решения проблемы? Заранее спасибо.


person krishna    schedule 25.07.2019    source источник


Ответы (1)


Запуск подписки при выполнении SSR не нужен/полезен и требует клиента WebSocket на сервере, вы можете попробовать Динамический импорт без SSR, чтобы подписка происходила только на клиенте. (используя { ssr: false })

import dynamic from 'next/dynamic';

const DynamicComponentWithNoSSR = dynamic(() => import('../components/hello3'), { ssr: false });

function Home() {
  return (
    <div>
      <Header />
      <DynamicComponentWithNoSSR />
      <p>HOME PAGE is here!</p>
    </div>
  );
}

export default Home;
person Manuel Iglesias    schedule 09.08.2019