2016-10-02 32 views
26

Apollo React dokümanlar http://dev.apollodata.com/react/queries.html#basics'da, bileşen gösterildiğinde otomatik olarak getirme örnekleri vardır, ancak bir düğme tıklatıldığında sorgu çalıştırmak istiyorum. Bir düğmeye tıklandığında bir sorguyu "yeniden" almak için bir örnek görüyorum, ancak başlangıçta sorgulamak istemiyorum. Görüyorum ki mutasyonları aramanın bir yolu var, ama sorguları nasıl ararsınız? Burada belgelendiği gibiApollo GraphQL React - tıklamayla nasıl sorgulanır?

cevap

35

Sen withApollo yüksek mertebeden-bileşenini kullanarak Apollo Client bir başvuru geçirerek yapabilirsiniz: https://www.apollographql.com/docs/react/basics/setup.html#withApollo

Sonra geçti nesnede, şöyle üzerinde client.query çağırabilirsiniz:

class MyComponent extends React.Component { 
    runQuery() { 
    this.props.client.query({ 
     query: gql`...`, 
     variables: { ... }, 
    }); 
    } 

    render() { ... } 
} 

withApollo(MyComponent); 

Merak etme, bir tıklama etkinliğinde sorgu çalıştırmanın amacı nedir? Belki de temel amacı gerçekleştirmek için daha iyi bir yol var.

+0

Bunu bir arama çubuğu için kullanmak istedim – kayla

+0

Bir ebeveyn üzerinde gql HOC'si olan bir bileşende bunu kullanıp kullanmadığımı buluyorum, bu, componentWillReceiveProps ebeveynlerini tetikler. Neden olduğu hakkında bir fikrim yok. Daha iyi bir yolu var mı? belki redux. –

+1

Bu tanıtımları güncellemiyor mu? Niye ya? Sonuç başarılı bir şekilde geldikten sonra sahne verilerini nasıl güncelleyebilirim? – CharlesS

İlgili konular