First, you'll need an ApolloClient instance. You can setup one any way you want via ApolloClient. I use this (see DefaultClient.hx) kind of config to get a "default" client, and this might end up in haxe apollo lib in the future.
Then you'll need a Provider to be able to use your client from anywhere. Near the root of your component tree, add this:
var client = new DefaultClient(uri);
<ApolloProvider client={client}>
{/* Inner component tree */}
</ApolloProvider>
Example query, using GraphQLMeta helper and an external graphql query file:
// Note: my-query.gql path is relative to MyComponent
@:graphql('my-query.gql')
class MyComponent extends ReactComponent {
override function render():ReactFragment {
return jsx(
<Query query={query}>
{function(result:QueryResult<Any, Any>) {
if (result.loading) return "Loading...";
if (result.error != null) return "Error!";
trace(result.data);
return "Ok!";
}}
</Query>
);
}
}