Сегодня я начал изучать офлайновые возможности, предлагаемые Appsync, и это был мой первый раз, когда я был поражен довольно сильно.Я провел день, просматривая несколько уроков, но они никогда не предлагали достаточно для меня, чтобы выполнить задачу, или, может быть, я был просто глуп.Хорошо возвращаясь к документам github для усиления, я наткнулся на это
import { buildMutation } from 'aws-appsync';
import { listTodos } from './graphql/queries';
import { createTodo, CreateTodoInput } from './graphql/mutations';
(async () => {
const result = await client.mutate(buildMutation(client,
gql(createTodo),
{
inputType: gql(CreateTodoInput),
variables: {
input: {
name: 'Use AppSync',
description: 'Realtime and Offline',
}
}
},
(_variables) => [ gql(listTodos) ],
'Todo'));
console.log(result);
})();
, поэтому я попытался использовать это.но я получил ошибку client is not defined
Но я обернул мой app.js в apolloprovider
const client = new AWSAppSyncClient({
url: aws_config.aws_appsync_graphqlEndpoint,
region: aws_config.aws_appsync_region,
auth: {
type: aws_config.aws_appsync_authenticationType,
apiKey: aws_config.aws_appsync_apiKey,
},
offlineConfig: {
callback: (err, succ) => {
if(err) {
const { mutation, variables } = err;
console.warn(`ERROR for ${mutation}`, err);
} else {
const { mutation, variables } = succ;
console.info(`SUCCESS for ${mutation}`, succ);
}
},
},
});
const WithProvider = () => (
<ApolloProvider client={client}>
<Rehydrated>
<ArztRoutes/>
</Rehydrated>
</ApolloProvider>
, который, по моему пониманию, передает клиента всем остальным классам, так почему я продолжаю получать эту ошибку и какмогу ли я решить это.Большое спасибо!