Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue with subscriptions: this.subscription.unsubscribe is not a function #1145

Closed
deep-c opened this issue Jan 7, 2017 · 2 comments
Closed

Comments

@deep-c
Copy link

deep-c commented Jan 7, 2017

Hi,

Hopefully this is an appropriate place to get some help, I am having some trouble with subscriptions and unsubscribing when a particular prop changes. Basically I have this component Channel which has the following:

    componentWillReceiveProps(newProps){
        if (!newProps.loading) {
            if (this.subscription) {
                if (newProps.channelId !== this.props.channelId) {
                    this.subscription.unsubscribe();
                } else {                    
                    return;
                }
            }
            this.subscription = newProps.subscribeToMore({
                document: subscribeForAddedMessages,
                variables: { channelId: newProps.channelId },

                updateQuery: (previousResult, { subscriptionData }) => {
                    let newResult = Object.assign({}, previousResult)
                    newResult.messages = [...previousResult.messages, subscriptionData.data.messageAdded]
                    return newResult                     
                },
                onError: (err) => console.error(err),
            });
        }
    }

This is the container:

export default compose(
    graphql(MessagesForChannelQuery, {
        options: (ownProps) => ({
            variables: {
                channelId: ownProps.channelId,
                orderBy: 'createdOn',
            },
        }),
        props: ({ ownProps, data: { loading, messages, error, subscribeToMore, variables } }) => ({
            loading,
            messages,
            error,
            subscribeToMore,
            variables
        }),
    }),
)(ChannelView);

And this is me using such wrapped component:
<Channel channelId={params.channelId} />

Basically when params.channelId changes and i need to unsubscribe and resubscribe to the new channel, however I am getting this.subscription.unsubscribe is not a function being thrown when switching channels.

As far as I can tell I am not doing anything outside of the ordinary. Does anyone know why this.subscription would exist but not this.subscription.unsubscribe()?

"apollo-client": "^0.5.26",

@helfer
Copy link
Contributor

helfer commented Jan 10, 2017

@deep-c It's not defined because you're not actually getting an observable back. Apollo Client subscribes to it for you, so all you get back is actually the unsubscribe handle. So if you call this.subscription() it will unsubscribe. Maybe the variable name I chose in GitHunt-React isn't great 😄 . Would be better to call it unsubscribeHandle or something.

@helfer helfer closed this as completed Jan 10, 2017
alexicum added a commit to alexicum/react-docs that referenced this issue Jun 2, 2017
>@deep-c It's not defined because you're not actually getting an observable back. Apollo Client subscribes to it for you, so all you get back is actually the unsubscribe handle. So if you call this.subscription() it will unsubscribe. Maybe the variable name I chose in GitHunt-React isn't great 😄 . Would be better to call it unsubscribeHandle or something.

apollographql/apollo-client#1145 (comment)
jbaxleyiii pushed a commit that referenced this issue Oct 18, 2017
>@deep-c It's not defined because you're not actually getting an observable back. Apollo Client subscribes to it for you, so all you get back is actually the unsubscribe handle. So if you call this.subscription() it will unsubscribe. Maybe the variable name I chose in GitHunt-React isn't great 😄 . Would be better to call it unsubscribeHandle or something.

#1145 (comment)
jbaxleyiii pushed a commit that referenced this issue Oct 19, 2017
* More edits

* Create migration.md

* Update _config.yml

Add migration guide

* Update migration.md

* Fix 'response' typo & add hyphen to refer to possible response types

* Update simple-example.md

fixed spelling

* Update simple-example.md

* Document `.graphql` file imports in Meteor

* docs(fragments): Document import syntax

Add `import` syntax mention in the `fragments` section
Link to `webpack` page where further usage / details are provided

Closes 185

* Sanitize JSON.stringify output to prevent XSS

See these docs for rationale:
http://redux.js.org/docs/recipes/ServerRendering.html#security-considerations|

* Update fragments.md

* Update subscriptions.md

Subscription client should accept a websocket address, not an http

* docs(webpack): update webpack config to Webpack 2

* Change sketch to snack

* add docs for variables argument in docs of data.refetch

* Fix a typo

* Fix typo

immeadiately => immediately

* Fix links to server side rendering recipe

These had an extra hash in front of them

* Just Angular

* Adds a minimal mention of Direct Cache Access

And links to the relevant bit in the Vanilla JS section.

* Adds a simple example

* Update index.md

* Fix SSR link

* Use fetchPolicy for legacy forceFetch

* Changed link to point at the more relevant docs

* Fleshed out the example a bit more

* documented code for subscriptions in Meteor

* Update submodule to 1.0.3

* chore(package): update dependencies

https://greenkeeper.io/

* Revert "Update all dependencies 🌴"

* Force fetch

* Fix broken SubscriptionsServer link

* fix(package): update hexo to version 3.3.5

https://greenkeeper.io/

* Add docsearch

* Add instructions for fragment matcher

* Go back to Apollo theme

* Revert "Update hexo to the latest version 🚀"

* Upgrade hexo, fix lines

* Replace `createMeteorNetworkInterface` in `meteor.md`

`createMeteorNetworkInterface` --> `createNetworkInterface` to match function name in source code

* Revert "Replace `createMeteorNetworkInterface` with `createNetworkInterface` in `meteor.md`"

* Update api-queries.md

* Update initialization.md

* Add docs for the exposure of 'dataIdFromObject' and 'dataId'

* Add docs for the exposure of 'dataIdFromObject' and 'dataId'

* Only document dataIdFromObject

* Update fetchMore docs

Check for `fetchMoreResult`, not `fetchMoreResult.data`.

* Update subscriptions.md

* Update docs about update

* Update network.md

* Fix Example

* update mutations.md formatting

Just a quick change to the "multiple mutations" code snippet, to match the formatting style of other code snippets.

* chore(package): update typedoc to version 0.7.0

https://greenkeeper.io/

* Fixed two misspellings

* chore(submodule): update to latest

* docs(subscriptions): updated subscriptions docs

* fix typo

* Clarify createApolloServer

* Fix missing word

* Update auth.md

I think it will be really helpful to mention that `withApollo` HOC is needed to access `client`.

* add missing ApolloClient import

* Fix typos

availble -> available, respositories -> repositories

* Update read-and-write.md

* minor typo

* changes per @rdickert comments on #274

* add ts typings

* Use correct property name in how-it-works.md 

The documentation states that the property is called dataIdFromObject, but the example uses dataFromObjectId instead.
When trying it out, it did work with dataIdFromObject, but not with dataFromObjectId.

* docs cleanup + additions for parsed afterware response

* Update network.md

* Make language a bit clearer

* Printer is no longer in graphql-tag

apollographql/graphql-tag#54

* GTM

* Update theme

* Add GTM

* Updated incorrect link to Mutations: Update

* Document the expected updateQuery return value

By specifying that it should have the same shape as the original query data.

* Update subscriptions.md

* subscribeToMore returns unsubscribe handler

* subscribeToMore returns unsubscribe handler

>@deep-c It's not defined because you're not actually getting an observable back. Apollo Client subscribes to it for you, so all you get back is actually the unsubscribe handle. So if you call this.subscription() it will unsubscribe. Maybe the variable name I chose in GitHunt-React isn't great 😄 . Would be better to call it unsubscribeHandle or something.

#1145 (comment)

* Fix missing variables in docs for refetchQueries

* Fix typo

* Add an example of a custom network interface

* Update network.md

* Syntax highlighting

Sorry, just realized I left off the js syntax highlighting

* - Adds intro text

* - Adds intro text

* - Adds queries
- Adds resolverCode

* - Adds queries
- Adds resolverCode

* Update partial-data.md

- Adds code example
- Fixes query
- Fixes wordings

* - Changes some wordings

* - Changes some wordings
- Adds paragraph about query batching

* - Changes wording scene to view

* - Adds link to custom resolvers

* - Changes title of the page
- Changes some wordings
- Adds link to BatchedNetworkInterface API docs

* - Applies suggested changes
- Adds destructuring for better readability

* Change the endpoint URI to the less misleading one

People don't usually use `http://localhost:3000/` as their endpoint for graphql,
I think it might be more understandable what it is if we use `http://localhost:3000/graphql` as example.

* Only send request cookie rather than full headers (See #228)

* Fix syntax error in fetchMore example

* Added batchMax to the Query batching explanation.

* tell typedoc to ignore compiler errors

* Fix broken `config.options` links for Queries and Mutations

* Fix broken generic `config.options` link

* Add documentation for the new connection directive

* Bump Node version to try to make CircleCI tests pass

* Update api-server.md

Added some corrections.

* Fix unexpected token error in example code

* Remove inaccurate part about parsed results in afterware

* Update network.md

Removing not necessary else on example code.

* Fixed link to angular page

Link pointed to /angular, which returns a 403

* Fix broken link in simple-example

* fixed typo in api-mutations.md

Changed "excepted" to "accepted".

* Update for new filter argument

* Update cache-updates.md

* Typo for Hello World link

* fix(package): update hexo to version 3.3.8

* fix(package): update hexo to version 3.3.8

* added docs for static typing (#258)

* added docs for static typing

* update from feedback

* spelling

* update class for flow since it can infer

* Improve customResolvers documentation

Add note about having to be the same data, add note about where to get `__typename`, improve overall documentation

* mention that options.context can be a function

* Minor typo fix

* Add unit of time for batchInterval in query batching description

* Remove wording about "just like above"

The previous example is actually only implementing `optimisticResponse` but then the next example implements `update` as well as `optimisticResponse`, and I found the wording to be a bit confusing around this. Do we need to implement `update` as well as `optimisticResponse` as the example shows for adding to a list? If so, the wording was incorrect. If not, then it'd be ideal to give an example where only `optimisticResponse` is required for adding to a list.

I'm currently assuming that the wording was actually slightly off, and that `update` was in fact necessary, in which case we can just remove the bit about `update` not being required.

* fix example; cursor is not available on root

* Update pagination.md

* Change "Expo Sketch" to "Expo Snack"

* Update SSR for React docs to reflect newest version of React Router

* Add relevant comment on routes file

* Add link to FuseBox plugin

* Fix createMeteorNetworkInterface in SSR section

* Fix typo in optimistic-ui.md

* Add gql to the list of imports

gql is used to create the graphql query for the Profile component so it has to be imported to work.

* fixed typo, sentence rewording in query-splitting

* update docs: PropTypes is now a separate package

* Query docs: PropTypes is now a separate package

* Updated simple-example.md

Move to the updated link on howtographql.com as learnapollo.com is deprecated. Please let me know if I need to change the label as well or if this is not relevant.

* Update SSR doc based on feedback.

* StaticRouter now wrapped in ApolloProvider, and made routes example more specific

* Update simple-example.md

Change 2nd tutorial title from "Learn Apollo" to "How to GraphQL" as the prior is deprecated.

* Fixed small typo in example

* Update index.md

Move to the updated link on howtographql.com as learnapollo.com is deprecated.

* adding a super simple client/server example

This repo is just a simple playground for GraphQL n00bs like me. It's only `client.js` and `server.js` both under 50 lines.

Having a minimalist sandbox like this helped me wrap my mind around Apollo, before I started adding all the ceremony that comes along with a UI and database.

Thanks!

* Small typo in refetchQueries example

Small typo in refetchQueries example. The variable name is incorrect in the mutation of refetchQueries example.

* Add slack button

* try edit

* Try changing versions

* Fix outdated queryDeduplication docs

* doc/link formatting

* forceFetch -> fetchPolicy

change `forceFetch: true` to `fetchPolicy: 'network-only'`

* Sync the SSR doc with the newest update added to the GitHunt app, which now uses React Router v4

* Add package lock

* Fix internal link

* move to core-docs

* adjust config and fix jsdoc

* track public

* Add docs for graphql-tag precompilation with babel (#292)

* Add rootEl const to redux.md example code (#293)

In your DOM rendering, you threw in rootEl, but rootEl was never defined. Assuming the ID is "root", I added a const that pointed to that div/element.

`const rootEl = document.querySelector("#root");`

* Update index.md (#295)

* Update auth.md (#296)

* fragment -> fragments (#297)

The component field is named `fragments`, not `fragment`.

* Add React native case (#299)

* docs(fragment matcher): added build script, revised docs for 2.0 (#302)

* Update using-with-types.md (#298)

* add note about refetch variables (#300)

add brief note to clear any variables that were set before for any query. This is helpful when you want to omit a variable from the query that was set before. e.g in case of filters you might want to clear previous filter variable but by not passing that variable will result in picking the old value.

* Docs reorg (#2339)

* start reorg

* reorg of docs for test deploy [NOT READY]

* remove built docs

* update gitignore

* Fix submodule path

* Fix submodule issues
jbaxleyiii pushed a commit that referenced this issue Oct 19, 2017
* Fix argument for fragment matcher

* chore: Publish

 - [email protected]
 - [email protected]
 - [email protected]
 - [email protected]
 - [email protected]
 - [email protected]

* support conditional refetches

* ensure network requests are handled on errors with cache-and-network

* make cache easier to access for SSR

* fix failing test from cache placement addition

* add test for multiple requests in flight at once

* remove direct dep on graphql

* remove connection directive before sending to link

* chore: Publish

 - [email protected]
 - [email protected]

* handle unhanlded errors on polling queries

* chore: Publish

 - [email protected]
 - [email protected]

* customResolvers => cacheResolvers

* micro benchmarking and reduction of mutation calls for perf gains

* changelog

* remove warning for refetching unfetched queries

* chore: Publish

 - [email protected]
 - [email protected]
 - [email protected]
 - [email protected]
 - [email protected]
 - [email protected]

* prep for rc

* Publish

 - [email protected]
 - [email protected]
 - [email protected]
 - [email protected]
 - [email protected]
 - [email protected]

* fix renrender bug

* put back in skipped test

* chore: Publish

 - [email protected]
 - [email protected]

* added new rawRequest method for devTool support

* chore: Publish

 - [email protected]
 - [email protected]

* fix subscribeToMore

* Define and expose ApolloClientOptions (#2292)

It'd be helpful to UI integration libraries such as new angular-apollo, which will be released soon.

* fix ts bug

* move off of custom zen-observable impl

* changed to named exports

* move to named imports from package changes

* turn back on testing

* chore: Publish

 - [email protected]
 - [email protected]
 - [email protected]

* add a couple tests for open issues

* Expose ApolloCurrentResult (#2301)

* docs(cache): added readme for apollo-cache-inmemory (#2331)

style(docs): removed order

fix(docs): minor spacing tweak

* fix(client): throw error if constructor not initialized properly (#2332)

* fix(client): throw errors if constructor not initialized properly

* fix(client): fix link to docs in error msg

* chore(changelog): added changes

* [WIP] 2.0 docs (#2324)

* More edits

* Create migration.md

* Update _config.yml

Add migration guide

* Update migration.md

* Fix 'response' typo & add hyphen to refer to possible response types

* Update simple-example.md

fixed spelling

* Update simple-example.md

* Document `.graphql` file imports in Meteor

* docs(fragments): Document import syntax

Add `import` syntax mention in the `fragments` section
Link to `webpack` page where further usage / details are provided

Closes 185

* Sanitize JSON.stringify output to prevent XSS

See these docs for rationale:
http://redux.js.org/docs/recipes/ServerRendering.html#security-considerations|

* Update fragments.md

* Update subscriptions.md

Subscription client should accept a websocket address, not an http

* docs(webpack): update webpack config to Webpack 2

* Change sketch to snack

* add docs for variables argument in docs of data.refetch

* Fix a typo

* Fix typo

immeadiately => immediately

* Fix links to server side rendering recipe

These had an extra hash in front of them

* Just Angular

* Adds a minimal mention of Direct Cache Access

And links to the relevant bit in the Vanilla JS section.

* Adds a simple example

* Update index.md

* Fix SSR link

* Use fetchPolicy for legacy forceFetch

* Changed link to point at the more relevant docs

* Fleshed out the example a bit more

* documented code for subscriptions in Meteor

* Update submodule to 1.0.3

* chore(package): update dependencies

https://greenkeeper.io/

* Revert "Update all dependencies 🌴"

* Force fetch

* Fix broken SubscriptionsServer link

* fix(package): update hexo to version 3.3.5

https://greenkeeper.io/

* Add docsearch

* Add instructions for fragment matcher

* Go back to Apollo theme

* Revert "Update hexo to the latest version 🚀"

* Upgrade hexo, fix lines

* Replace `createMeteorNetworkInterface` in `meteor.md`

`createMeteorNetworkInterface` --> `createNetworkInterface` to match function name in source code

* Revert "Replace `createMeteorNetworkInterface` with `createNetworkInterface` in `meteor.md`"

* Update api-queries.md

* Update initialization.md

* Add docs for the exposure of 'dataIdFromObject' and 'dataId'

* Add docs for the exposure of 'dataIdFromObject' and 'dataId'

* Only document dataIdFromObject

* Update fetchMore docs

Check for `fetchMoreResult`, not `fetchMoreResult.data`.

* Update subscriptions.md

* Update docs about update

* Update network.md

* Fix Example

* update mutations.md formatting

Just a quick change to the "multiple mutations" code snippet, to match the formatting style of other code snippets.

* chore(package): update typedoc to version 0.7.0

https://greenkeeper.io/

* Fixed two misspellings

* chore(submodule): update to latest

* docs(subscriptions): updated subscriptions docs

* fix typo

* Clarify createApolloServer

* Fix missing word

* Update auth.md

I think it will be really helpful to mention that `withApollo` HOC is needed to access `client`.

* add missing ApolloClient import

* Fix typos

availble -> available, respositories -> repositories

* Update read-and-write.md

* minor typo

* changes per @rdickert comments on #274

* add ts typings

* Use correct property name in how-it-works.md 

The documentation states that the property is called dataIdFromObject, but the example uses dataFromObjectId instead.
When trying it out, it did work with dataIdFromObject, but not with dataFromObjectId.

* docs cleanup + additions for parsed afterware response

* Update network.md

* Make language a bit clearer

* Printer is no longer in graphql-tag

apollographql/graphql-tag#54

* GTM

* Update theme

* Add GTM

* Updated incorrect link to Mutations: Update

* Document the expected updateQuery return value

By specifying that it should have the same shape as the original query data.

* Update subscriptions.md

* subscribeToMore returns unsubscribe handler

* subscribeToMore returns unsubscribe handler

>@deep-c It's not defined because you're not actually getting an observable back. Apollo Client subscribes to it for you, so all you get back is actually the unsubscribe handle. So if you call this.subscription() it will unsubscribe. Maybe the variable name I chose in GitHunt-React isn't great 😄 . Would be better to call it unsubscribeHandle or something.

#1145 (comment)

* Fix missing variables in docs for refetchQueries

* Fix typo

* Add an example of a custom network interface

* Update network.md

* Syntax highlighting

Sorry, just realized I left off the js syntax highlighting

* - Adds intro text

* - Adds intro text

* - Adds queries
- Adds resolverCode

* - Adds queries
- Adds resolverCode

* Update partial-data.md

- Adds code example
- Fixes query
- Fixes wordings

* - Changes some wordings

* - Changes some wordings
- Adds paragraph about query batching

* - Changes wording scene to view

* - Adds link to custom resolvers

* - Changes title of the page
- Changes some wordings
- Adds link to BatchedNetworkInterface API docs

* - Applies suggested changes
- Adds destructuring for better readability

* Change the endpoint URI to the less misleading one

People don't usually use `http://localhost:3000/` as their endpoint for graphql,
I think it might be more understandable what it is if we use `http://localhost:3000/graphql` as example.

* Only send request cookie rather than full headers (See #228)

* Fix syntax error in fetchMore example

* Added batchMax to the Query batching explanation.

* tell typedoc to ignore compiler errors

* Fix broken `config.options` links for Queries and Mutations

* Fix broken generic `config.options` link

* Add documentation for the new connection directive

* Bump Node version to try to make CircleCI tests pass

* Update api-server.md

Added some corrections.

* Fix unexpected token error in example code

* Remove inaccurate part about parsed results in afterware

* Update network.md

Removing not necessary else on example code.

* Fixed link to angular page

Link pointed to /angular, which returns a 403

* Fix broken link in simple-example

* fixed typo in api-mutations.md

Changed "excepted" to "accepted".

* Update for new filter argument

* Update cache-updates.md

* Typo for Hello World link

* fix(package): update hexo to version 3.3.8

* fix(package): update hexo to version 3.3.8

* added docs for static typing (#258)

* added docs for static typing

* update from feedback

* spelling

* update class for flow since it can infer

* Improve customResolvers documentation

Add note about having to be the same data, add note about where to get `__typename`, improve overall documentation

* mention that options.context can be a function

* Minor typo fix

* Add unit of time for batchInterval in query batching description

* Remove wording about "just like above"

The previous example is actually only implementing `optimisticResponse` but then the next example implements `update` as well as `optimisticResponse`, and I found the wording to be a bit confusing around this. Do we need to implement `update` as well as `optimisticResponse` as the example shows for adding to a list? If so, the wording was incorrect. If not, then it'd be ideal to give an example where only `optimisticResponse` is required for adding to a list.

I'm currently assuming that the wording was actually slightly off, and that `update` was in fact necessary, in which case we can just remove the bit about `update` not being required.

* fix example; cursor is not available on root

* Update pagination.md

* Change "Expo Sketch" to "Expo Snack"

* Update SSR for React docs to reflect newest version of React Router

* Add relevant comment on routes file

* Add link to FuseBox plugin

* Fix createMeteorNetworkInterface in SSR section

* Fix typo in optimistic-ui.md

* Add gql to the list of imports

gql is used to create the graphql query for the Profile component so it has to be imported to work.

* fixed typo, sentence rewording in query-splitting

* update docs: PropTypes is now a separate package

* Query docs: PropTypes is now a separate package

* Updated simple-example.md

Move to the updated link on howtographql.com as learnapollo.com is deprecated. Please let me know if I need to change the label as well or if this is not relevant.

* Update SSR doc based on feedback.

* StaticRouter now wrapped in ApolloProvider, and made routes example more specific

* Update simple-example.md

Change 2nd tutorial title from "Learn Apollo" to "How to GraphQL" as the prior is deprecated.

* Fixed small typo in example

* Update index.md

Move to the updated link on howtographql.com as learnapollo.com is deprecated.

* adding a super simple client/server example

This repo is just a simple playground for GraphQL n00bs like me. It's only `client.js` and `server.js` both under 50 lines.

Having a minimalist sandbox like this helped me wrap my mind around Apollo, before I started adding all the ceremony that comes along with a UI and database.

Thanks!

* Small typo in refetchQueries example

Small typo in refetchQueries example. The variable name is incorrect in the mutation of refetchQueries example.

* Add slack button

* try edit

* Try changing versions

* Fix outdated queryDeduplication docs

* doc/link formatting

* forceFetch -> fetchPolicy

change `forceFetch: true` to `fetchPolicy: 'network-only'`

* Sync the SSR doc with the newest update added to the GitHunt app, which now uses React Router v4

* Add package lock

* Fix internal link

* move to core-docs

* adjust config and fix jsdoc

* track public

* Add docs for graphql-tag precompilation with babel (#292)

* Add rootEl const to redux.md example code (#293)

In your DOM rendering, you threw in rootEl, but rootEl was never defined. Assuming the ID is "root", I added a const that pointed to that div/element.

`const rootEl = document.querySelector("#root");`

* Update index.md (#295)

* Update auth.md (#296)

* fragment -> fragments (#297)

The component field is named `fragments`, not `fragment`.

* Add React native case (#299)

* docs(fragment matcher): added build script, revised docs for 2.0 (#302)

* Update using-with-types.md (#298)

* add note about refetch variables (#300)

add brief note to clear any variables that were set before for any query. This is helpful when you want to omit a variable from the query that was set before. e.g in case of filters you might want to clear previous filter variable but by not passing that variable will result in picking the old value.

* Docs reorg (#2339)

* start reorg

* reorg of docs for test deploy [NOT READY]

* remove built docs

* update gitignore

* Fix submodule path

* Fix submodule issues
@quadsurf
Copy link

@helfer looks like auto-unsubscribe is not working, and that I do in fact need to unsubscribe in the "componentWillUnmount" lifecycle method, because i keep getting the following error:

Can only update a mounted or mounting component. This usually means you called setState, replaceState, or forceUpdate on an unmounted component. This is a no-op.
Please check the code for the Messages component.

  • screens/Chat/Messages.js:126:26 in updateQuery

The setState that's being called, is inside my subscribeToMore updateQuery method, in a component that has been unmounted.

So how do I manually unsubscribe in "componentWillUnmount"? Calling this.props.data.subscribeToMore() to unsubscribe, as suggested elsewhere, breaks my code with the following error: undefined is not an object (evaluating 'options.document'), and there doesn't exist an unsubscriber method on this.props.data , and neither does one exist in this.props.data.subscribeToMore({...})

Please note that this is Apollo v1... v2 is not an option for this app.

Please help, thank you!

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Feb 16, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants