У меня проблемы с отображением массива виджетов в правильном порядке. Я использую graphql для запроса данных страницы из kentico's kontent.ai. Страница в cms имеет поле для расширенного текста, которое может содержать несколько виджетов. Однако, когда я консоль регистрирую массив элементов виджетов из объекта данных graphql, массив не в порядке. Например, если порядок в cms:
текстовый элемент, элемент видео, элемент изображения
, то в массиве объектов этот порядок будет выглядеть примерно так:
[элемент изображения, текстовый элемент, элемент видео]
важно: это происходит только тогда, когда я использую более 10 виджетов в поле расширенного текста. Если я использую до десяти виджетов, порядок правильный. но если я использую больше 10, порядок будет неправильным.
Это странно, потому что это не в порядке на моем локальном или на живом сайте, но это рендеринг в порядке на локальных моих коллег (даже на страницы, которые отображают более 10 элементов). Мы используем одну и ту же ветку, и в коде нет никакой разницы. Знаете ли вы, почему это может происходить?
и есть ли способ, которым я могу убедиться, что порядок в массиве остается таким же, как и в cms?
Вот упрощенная версия моего запроса (это массив connected_items , который не упорядочен правильно):
query workDetailQuery($slug: String!) {
kenticoCloudItemWorkDetailPage(fields: { slug: { eq: $slug } }) {
body_text {
linked_items {
... on KenticoCloudItemStatsBreaker {
internal {
type
}
}
... on KenticoCloudItemSectionBlock {
internal {
type
}
}
... on KenticoCloudItemQuoteWithImages {
internal {
type
}
}
}
}
}
}
Это проект gatsby (версия 2.0.19), и я использую пакет gatsby-source-kentico-cloud .
UPDATE , так что нам удалось это выяснить! Просто версия узла по умолчанию на моей машине и версия узла, используемая netlify, были 10.19.0. Мы обновили обе версии (на моей машине и на netlify) до 12.13.0, и теперь порядок правильный.