【发布时间】:2021-06-05 12:54:36
【问题描述】:
我试图在 vue 3 中使用 vuex 模块。我不确定我做错了什么?
我有 index.js 作为主文件,其余的我打算放在 modules 文件夹中。
当我想调度操作时,我收到一个错误:“[vuex] 未知操作类型:users/registerUser”。
index.js
import { createStore } from 'vuex'
import users from './modules/users'
export default createStore({
state: {
},
mutations: {
},
actions: {
},
modules: {
users
}
})
Vue 文件中的调度操作
const registration = () => {
store.dispatch('users/registerUser', {
firstName,
lastName,
email,
password
})
}
users.js
import { createStore } from 'vuex'
export default createStore({
namespaced: true,
state: {
user: {
firstName: null,
lastName: null,
email: null,
}
},
mutations: {
UPDATE_FIRST_NAME (state, newValue) {
state.user.firstName = newValue
},
UPDATE_LAST_NAME (state, newValue) {
state.user.lastName = newValue
},
UPDATE_EMAIL (state, newValue) {
state.user.email = newValue
}
},
actions: {
async registerUser ({ commit }, { firstName, lastName, email, password }) {
const data = {
firstName,
lastName,
email,
password
}
console.log(data)
}
},
modules: {
}
})
【问题讨论】:
-
这里是文档:next.vuex.vuejs.org
-
你能展示
users模块吗? -
我更新了我的帖子。您还可以看到 users.js 文件。
-
有什么建议吗?
-
你不应该再次在模块中使用 createStore。 documentation