Как вы помещаете данные запроса apollo в контролируемый ввод? - PullRequest
0 голосов
/ 17 ноября 2018

Таким образом, используя компонент <Query> от Apollo, я могу получать данные просто отлично.В какой-то момент мне придется ввести некоторые из этих данных в пользовательский ввод.Я хотел бы, чтобы этот вход контролировался, что означает, что данные должны жить в состоянии компонента.Поэтому мне кажется, что мне нужно преобразовать данные из запроса Apollo в состояние компонента или, точнее, данные из запроса Apollo -> переданные как компонент prop -> состояние компонента.

Единственный способ, которым я знаю, какдля этого нужно использовать componentDidUpdate или getDerivedStateFromProps.Документы React ясно дают понять, что использование этих функций является плохой практикой, особенно при работе с входными данными ... Итак, как мы должны это делать?Я, должно быть, здесь упускаю что-то действительно очевидное.

1 Ответ

0 голосов
/ 21 ноября 2018

Я выбрал этот маршрут: Запрос и изменение формы с помощью клиента Apollo GraphQL

В основном, подождите, пока у вас есть данные, а затем визуализируйте вашу форму / входные данные. Передайте данные от apollo вниз и установите начальное состояние в конструкторе формы / ввода. Затем используйте setState как обычно.

Я немного разочарован, потому что, что если я захочу обновить данные в форме из другого запроса graphql после первого рендера? Похоже, вам просто не повезло в этом случае.

...