Yes, you're correct. user is in the store and I'm trying to get data from Firestore when user changes. But this.$store.watch never gets invoked. If I console.log it in mounted it's null. But when I console.log it in beforeUpdate it's set. Yet, this.$store.watch is never called.
If I use the normal watcher on user it gets invoked, but the values don't seem to be there. I can log them and they are undefined. Perhaps this is because user is a Vuex computed property. I tried deep: true but then the (non-store) watcher is invoked twice, neither time with the data I need.
Any idea why the watcher isn't being called even through user is obviously changing?
Please check store.js and App.vue. I've tried to create a fetch logic (full user and just username). Please mind the comments and play with comment/uncomment the deep and immediate options.
Also mind the first warning here vuejs.org/v2/api/#vm-watch once you hit the Fetch new username button.
Log in to continue
We're a place where coders share, stay up-to-date and grow their careers.
Yes, you're correct.
user
is in the store and I'm trying to get data from Firestore whenuser
changes. Butthis.$store.watch
never gets invoked. If Iconsole.log
it inmounted
it's null. But when Iconsole.log
it inbeforeUpdate
it's set. Yet,this.$store.watch
is never called.If I use the normal watcher on
user
it gets invoked, but the values don't seem to be there. I can log them and they are undefined. Perhaps this is becauseuser
is a Vuex computed property. I trieddeep: true
but then the (non-store) watcher is invoked twice, neither time with the data I need.Any idea why the watcher isn't being called even through
user
is obviously changing?Thanks for your help!
Hey Adam, to help our discussion I've created this Codesandbox: codesandbox.io/s/agitated-haze-ojdun
Please check
store.js
andApp.vue
. I've tried to create a fetch logic (full user and just username). Please mind the comments and play with comment/uncomment thedeep
andimmediate
options.Also mind the first warning here vuejs.org/v2/api/#vm-watch once you hit the
Fetch new username
button.