render() { return ( <ApolloProvider client={this.apolloClient}> <ReduxProvider store={this.reduxStore}> <Component {...this.props} /> </ReduxProvider> </ApolloProvider> ); }
graphql(allPostsGql, { options: () => ({ variables: { skip: 0, first: POSTS_PER_PAGE } }), props: ({ data }) => ({ data, loadMorePosts: () => data.fetchMore({ variables: { skip: data.allPosts.length }, updateQuery: (previousResult, { fetchMoreResult }) => { if (!fetchMoreResult) { return previousResult; } return Object.assign({}, previousResult, { // Append the new posts results to the old one allPosts: [...previousResult.allPosts, ...fetchMoreResult.allPosts] }); } }) }) })
<ApolloProvider client={client}> <ReduxProvider store={store}> <Component {...props} /> </ApolloProvider> ); await getDataFromTree(app); } catch (error) {
graphql(getPostGql, { options: ({ postId }) => ({ variables: { postId } }), props: ({ data: { loading, Post, error } }) => ({ loading, Post, error }) })
graphql(createPostGql, { props: ({ mutate }) => ({ mutations: { createPost: (title, url) => mutate({ variables: { title, url }, updateQueries: { allPosts: (previousResult, { mutationResult }) => { const newPost = mutationResult.data.createPost; return Object.assign({}, previousResult, { // Append the new post allPosts: [newPost, ...previousResult.allPosts] }); } } }) } }) })
render() { return ( <ApolloProvider client={client}> <div style={styles}> <h2>Welcome to Apollo-Link-State</h2> <AddItems /> <ListItems /> </div> </ApolloProvider> ); }
const WithProvider = () => ( <ApolloProvider client={client}> <Rehydrated> <App /> </Rehydrated> </ApolloProvider> )
graphql( gql` query recentCommunities($filter: MemberConnectionFilter) { recentCommunities { ...communityInfo ...communityMembers } } ${communityInfoFragment} ${communityMemberConnectionFragment} `, { name: 'recent', options: () => ({ variables: { filter: { isOwner: true, isMember: true }, }, fetchPolicy: 'cache-and-network', }), } )
render() { return ( <ApolloProvider client={client}> <div style={styles}> <h2>Welcome to Apollo-Link-State</h2> <AddItems /> <ListItems /> </div> </ApolloProvider> ); }
const WithProvider = () => ( <ApolloProvider client={client}> <Rehydrated> <App /> </Rehydrated> </ApolloProvider> )