4 ms·
This looks really nice! I haven't understood why this pattern hasn't been the default all along. Singletons are not a pattern used very often in JS so I'm not s
by Touche 12y ago
This looks really nice! I haven't understood why this pattern hasn't been the default all along. Singletons are not a pattern used very often in JS so I'm not sure why it caught on in Flux.
- acdlite 12y agoThanks! Yeah, I don't get it either. I think esamatti is exactly right: the original Facebook example used singletons and everyone followed their lead. That, combined with the fact that all CommonJS modules are singletons, anyway.
- Touche 12y agoAll JavaScript modules are singletons regardless of the format. But it's still a very common practice to export a constructor function as the module's value and then to instantiate new instances. No idea why that hasn't been followed with React, but I imagine that you are correct about the Facebook example. They should have put more care into making it correct rather than just making it simple to explain.
- acdlite 12y agoYep, that's what I was trying to say. The require cache makes the singleton pattern extra alluring, even in cases where you should avoid it.