How to set Vuex store from mounted() in dynamic component

Hi
Struggling a couple of hours without understanding what’s going on.
I am trying to set user in my Dynamic component.
There is mounted() method where I am basically trying to set data in Vuex store like so:

async mounted() {
	try {
		await this.$store.dispatch('setUser', this.userId);
	} catch (ex) {
		this.error = 'Failed to load data';
	} finally {
		console.log(this.$store.getters.user);
		this.currentComponent.name = this.componentToLoad ? this.componentToLoad : 'settings';
	
		this.currentComponent.title = this.componentToLoad ? this.capitalize(this.componentToLoad.replace(/-ads/, ' Products')) : 'settings';

		window.bus.$on('switchComponent', component => {
			this.currentComponent.name = component.name;
			this.currentComponent.title = component.title;
		});
	}		
	
},

Now, when I check Vuex state, I see that user has been set.
console.log(this.$store.state.user) return { user: {id…}. Wishlist: {id…} etc…
So it looks good to me.
However, when I try to access to this.$store.state.user.user, I am getting in console _ob Observer and there is no user object

Can someone help me understand why is this?

Here image to explain above:
Index.vue
in

<transition
                        name="slide"
                        mode="out-in">
                        <keep-alive>
                            <component
                                :is="currentComponent.name"
                                :current-component="currentComponent"
                                :is-top-menu="false" 
                                :user-id="userId" />
                        </keep-alive>
                    </transition>

updated(){
		window.axios.get('/api/users/' + this.userId).then((result) => {
		this.$store.state.user = result.data.data;
	});
},
mounted() {
	window.axios.get('/api/users/' + this.userId).then((result) => {
		this.user = result.data.data;
	});
	this.currentComponent.name = this.componentToLoad ? this.componentToLoad : 'settings';
	this.currentComponent.title = this.componentToLoad ? this.capitalize(this.componentToLoad.replace(/-ads/, ' Products')) : 'settings';
	window.bus.$on('switchComponent', component => {
		this.currentComponent.name = component.name;
		this.currentComponent.title = component.title;
	});		
},

Here you can see that i am creating dynamic component and passing some data into it

THen in loaded component:

mounted(){
	console.log('Dynamic component mounted');
	console.log(this.$store.state);
}

This return all objects from store state.

However, when i change this.$store.state to this.$store.state.user i am getting empty Observer

mounted(){
	console.log('Dynamic component mounted');
	console.log(this.$store.state.user);
}

Very confused.