Git Product home page Git Product logo

Comments (3)

0x80 avatar 0x80 commented on June 12, 2024

I think you might have misunderstood the useEffect hook. The return function is meant to be called by React during cleanup. What makes you think that it won't be called when you navigate away?

And I think a page reload will toss out the whole javascript context, so everything including subscriptions is garbage collected.

from react-firebase-hooks.

9sako6 avatar 9sako6 commented on June 12, 2024

@0x80

Thanks for the reply.

You are correct, the cleanup function is called when the component is unmounted. However, my understanding is that the cleanup function is not called when the page is reloaded or the tab is closed.

Below is a simple demonstration video to show this.
https://github.com/9concepts/nextjs-cleanup-experiment

I could not immediately provide a demo that stays connected to Firestore when using react-firebase-hooks. I don't see any other similar reports and will close the issue until I can show an example where the connection is kept alive.

from react-firebase-hooks.

0x80 avatar 0x80 commented on June 12, 2024

AFAIK when a tab is closed or reloaded, nothing of the current javascript runtime survives. I would be surprised if javascript kept executing in the background. I think every tab has an isolated runtime environment. It's like closing your nodejs application on the command line, it kills everything in terms of processes and allocated memory.

I don't think technically javascript even can call the unsubscribe in such situations, because objects have no destructor like in c++.

from react-firebase-hooks.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.