Клиент Apollo: выберите 1 активную опцию, используя локальное состояние - PullRequest
2 голосов
/ 01 апреля 2020

Я довольно новичок в использовании клиента apollo для управления локальным состоянием. Мне было интересно, если некоторые из вас с большим опытом могут дать некоторые рекомендации о том, как сделать следующее:

Я получаю список из 4 "категорий", используя useQuery. Из этих 4 категорий я хочу выбрать 1 «активную» и сохранить ее в местном штате. Используя список категорий, я хочу иметь возможность выбрать активную категорию. Эта активная категория будет использоваться в другом месте для отображения информации.

Я выдвинул несколько идей, но мне было интересно, есть ли «лучшее» решение для этого:

  1. Сохранить всю категорию, включая вложенные данные, в поле @client
  2. Сохраните идентификатор активной категории в поле @client и выполните второй запрос, чтобы найти категорию с этим идентификатором
  3. Добавьте логическое поле active к категории в активном списке. , При переключении категорий это активное поле должно быть изменено как для старой, так и для новой категории
  4. Использовать старую добрую реакцию useState, но, похоже, это не соответствует цели
...