반응형
Nuxt Vuex 저장소에 알 수 없는 작업 유형
vuex에서 작업을 호출하는 데 문제가 있습니다.loginUser 작업에 액세스하려고 할 때마다 vuex에서 '알 수 없는 작업 유형' 오류가 표시됩니다. 아마도 이 작업을 올바른 방식으로 부르지 않은 것 같습니다.제 코드에 무슨 문제가 있는지 알려주세요.
스토어: user.display
import axios from 'axios'
export const state = () => ({
users: [],
loggedIn: false,
})
export const getters = {
getLoggedIn: (state) => { return state.loggedIn },
}
export const actions = {
loginUser({ commit }, payload){
if(state.loggedIn){
console.log("you're already logged in!")
}else{
return new Promise(async(resolve, reject) => {
const { data } = await axios.post('/api/users/login-admin', {
login: payload.login,
password: payload.password
})
if(data.success){
commit("loggedIn", true)
resolve()
}else{
commit("loggedIn", false)
reject('an error has ocurred')
}
return data.success
}).catch(err => alert(errCodes(err.code)))
}
},
}
export const mutations = {
setLoggedIn(state, payload) {
state.loggedIn = payload
}
}
login.vue
computed: {
...mapGetters(['getCount'] , {user: 'getLoggedIn'}),
...mapActions([
'loginUser'
]),
},
methods: {
onSubmit: function(){
this.$store.dispatch({
type: 'loginUser',
email: this.login,
pass: this.pass
}).then(()=>{
this.$router.push('../admin_2065')
this.onReset()
}).catch(e => console.log(e))
},
onReset(){
this.login = ''
this.pass = ''
this.$nextTick().then(() => {
this.ready = true
})
}
},
에러:
어떤 도움이라도 감사히 받겠습니다.
mapActions
methods 옵션 내에 있어야 하며 네임스페이스를 추가해야 합니다.user/
:
computed: {
...mapGetters(['getCount'] , {user: 'getLoggedIn'}),
},
methods: {
...mapActions([
'user/loginUser'
]),
onSubmit: function(){
this['user/loginUser']({
email: this.login,
pass: this.pass
}).then(()=>{
this.$router.push('../admin_2065')
this.onReset()
}).catch(e => console.log(e))
},
onReset(){
this.login = ''
this.pass = ''
this.$nextTick().then(() => {
this.ready = true
})
}
},
언급URL : https://stackoverflow.com/questions/68152178/unknown-action-type-in-nuxt-vuex-store
반응형
'programing' 카테고리의 다른 글
URL을 변경하지 않고 WebApp을 vue-i18n으로 변환 (0) | 2022.07.18 |
---|---|
Vue - 마운트 전 시간에 데이터가 계산되지 않음 (0) | 2022.07.18 |
Vuex getter가 비동기 작업과 함께 null을 반환하고 있습니다. (0) | 2022.07.18 |
OutputStream을 InputStream으로 변환하는 방법 (0) | 2022.07.18 |
"mvn clean install"과 "mvn install"의 차이점은 무엇입니까? (0) | 2022.07.17 |