2017-02-03 15 views
0

Так что я добавляю в список объектов с мутацией с помощью клиента apollo. У меня есть событие, и я добавляю участников, и я использую refetchQueries, чтобы получить обновленное событие с участниками на экране подробностей. К сожалению, я не получаю статус data.loading == true во время этого реквизита, что делает вероятным, что пользователь будет постоянно ударять по кнопке участника участия.С клиентом apollo, как вы устанавливаете статус загрузки на мутации refetchQueries?

<Button styleName="dark full-width" onPress={()=> { 
      this.props.joinEvent({ 
       variables: { eventId: Event.id, userId: user.id }, 
       refetchQueries: ['getEvent'], 
       }); 
       // how do I trigger the data.loading = true like it does during the initial fetch? 
      } 
     }> 

ответ

0

The Apollo Реагировать документация не велика на этом, но есть open issue улучшить его.

Вместо того, чтобы смотреть на недвижимость data.loading, вы хотите использовать data.networkStatus. Он будет изменен на 4 во время обновления (networkStatus values).

Однако, чтобы получить это значение для обновления, вам также необходимо установить notifyOnNetworkStatusChange вариант true в ваших запросах.

Использование Реагировать graphql высшего порядка компонент, это выглядит следующим образом:

var myQuery = gql` 
    query MyQuery { 
     ... 
    } 
`; 

var myComponentWithData = graphql(myQuery, { 
     options: { 
      notifyOnNetworkStatusChange: true 
     } 
    } 
)(MyComponent); 
+0

Кроме того, я только что заметил, что при добавлении опции для 'notifyOnNetworkStatusChange: true' в' data.loading' свойство делает обновление на также. – Patrick

 Смежные вопросы

  • Нет связанных вопросов^_^