В Relay GraphQL соединения и списки похожи на массивы, но у них разные функции. Когда я должен использовать каждый?
Когда следует использовать соединение Relay GraphQL и простой список?
Ответ 1
Connections
- Более мощный и гибкий, чем простые списки.
- Поддержка разбивки на страницы (вперед и назад) с курсорами.
- Поддержка мелкозернистой mutation (например,
RANGE_ADD
,RANGE_DELETE
,NODE_DELETE
, как описано в руководство). - Требуется аргумент
first
илиlast
, чтобы ограничить размер набора результатов. - Имеет поле
edges
, которое предоставляет место для поиска данных, относящихся к краю, к краю. - Концепция более тяжелого веса, требующая больше работы для определения в схеме.
Списки
- Простой и легкий.
- Нет поддержки разбивки на страницы (весь список всегда возвращается).
- Нет специальных функций мутации для добавления, добавления и т.д. (хотя это запрошенная функция).
Что использовать?
- Всякий раз, когда вам нужна разбивка на страницы, вы должны использовать соединение.
- Если вам нужен мелкозернистый контроль над мутациями, вы можете использовать соединение, даже если вам не нужна разбивка на страницы.
- Если вы хотите все элементы в соединении, вы можете использовать
first
с большим количеством. - Если вы хотите открыть короткий список с минимальными усилиями, используйте простой список.