registerUser () {
this.$store.dispatch('asyncstuff', this.user)
}
asyncstuff ({ commit, state }, user) {
axios.post('http://localhost:7777/signup', user)
.then((res) => {
commit('stuff', res.data)
})
}у
stuff (state, data) {
state.token = data.token
}
this.$store.state.token
<input v-model="$store.state.user.email">
она говорит о том, то при изменении в инпуте переменной из стора будет присвоено значение. Это есть неверно с т.зрения vuex идеологии. Только через мутацию можно изменить состояние хранилища. Скорее всего в отладке вы получите предупреждение или ошибку.
Но имейте ввиду, что это просто пример. И вообще прокидывать событие в $root не очень красиво, т.к. компонент становится зависимым от него.