Я выполняю простой запрос, который корректно возвращается с помощью консоли AppSync, но когда я выполняю тот же запрос из моего приложения, данные возвращаются неправильно. В частности, в возвращаемом объекте есть массив дочернего типа, и хотя число экземпляров в массиве является правильным, каждый экземпляр является копией первого экземпляра.
Я отключил локальное кэширование на клиенте и удалил первый экземпляр из массива в базе данных, и когда я запускаю запрос в консоли, он работает нормально, но проблема сохраняется в приложении (хотя с новым первым экземпляром сейчас копируется).
Выход на консоль:
{
"data": {
"getTemplates": [
{
"name": "test template",
"data": [
{
"name": "Assigned User",
"format": "String"
},
{
"name": "Office",
"format": "String"
},
{
"name": "Department",
"format": "String"
}
]
}
]
}
}
Вывод журнала браузера из приложения:
0
:
{id: null, name: "Assigned User", format: "String", __typename: "Field", Symbol(id): "Field:null"}
1
:
{id: null, name: "Assigned User", format: "String", __typename: "Field", Symbol(id): "Field:null"}
2
:
{id: null, name: "Assigned User", format: "String", __typename: "Field", Symbol(id): "Field:null"}
Код запроса и регистрации:
<Query query={getTemplatesQuery}>
{({ loading, error, data }) => {
if (loading) return null;
if (error) return `Error: ${error}`;
console.log(data);
console.log(data.getTemplates);
return (
<DataTable data={data.getTemplates} />
);
}}
</Query>
Запрос, копия, вставленная из приложения в консоль для тестирования:
{
getTemplates {
id
name
author
data {
id
name
format
}
}
}
Может кто-нибудь сказать мне, что происходит, что может быть причиной этого? Есть ли простой способ проверить это с другого клиента?