Javascript 渲染Vuex时出错

Javascript 渲染Vuex时出错,javascript,vue.js,vuex,vuex-modules,Javascript,Vue.js,Vuex,Vuex Modules,我目前正在与Vuex和Vue建立一个项目,但遇到了一个奇怪的问题。我推测这与渲染的顺序有关,但是在多次尝试修改代码都没有结果之后,我仍然不确定 我尝试的是在父对象中使用getter访问状态,并通过一个槽传递它,而不是直接在子对象中传递,正如我将在这里发布的那样 我尝试用$this.传递值。$store.state仍然是未定义的,但是当控制台用实例上的方法记录它时,所有数据都在那里 这是我的代码的一部分 那里的错误与我自己的控制台中的错误类似: [Vue warn]: Error in rende

我目前正在与Vuex和Vue建立一个项目,但遇到了一个奇怪的问题。我推测这与渲染的顺序有关,但是在多次尝试修改代码都没有结果之后,我仍然不确定

我尝试的是在父对象中使用getter访问状态,并通过一个槽传递它,而不是直接在子对象中传递,正如我将在这里发布的那样

我尝试用
$this.传递值。$store.state
仍然是未定义的,但是当控制台用实例上的方法记录它时,所有数据都在那里

这是我的代码的一部分

那里的错误与我自己的控制台中的错误类似:

[Vue warn]: Error in render: "TypeError: Cannot read property 'state' of undefined"
提前感谢任何愿意花时间看它的人

注意:将其更改为
store.state.stack.value
时,内容显示,但出现另一个错误,即
[Vue warn]:事件“click”的处理程序无效:未定义

强调文本在您的突变中,您正在使用
this.$store.state
访问状态。这是错误的,因为此未指向vue实例

变异处理程序接收
状态
作为第一个参数:

myMutation(state){
    //use state argumentt to access state
}
这是你的电话号码

还有一件事:
mapstations
是一个帮助程序,它将组件方法映射到
store.commit
调用。因此,它们只是组件中的方法将其添加到
方法
选项中,而不是
计算的
,因为它们不计算任何内容

在您的突变中,您正在使用
this.$store.state
访问状态。这是错误的,因为此未指向vue实例

变异处理程序接收
状态
作为第一个参数:

myMutation(state){
    //use state argumentt to access state
}
这是你的电话号码


还有一件事:
mapstations
是一个帮助程序,它将组件方法映射到
store.commit
调用。因此,它们只是组件中的方法,将其添加到
方法
选项中,而不是
计算的
,因为它们不计算任何内容

传递状态作为突变函数中的参数,如下所示:

increment(state) { 
  state.stake.value += 1;
},

你不需要这样做。在你的商店里有$store。只有在vue组件中

才能将状态作为参数传递到您的函数中,如下所示:

increment(state) { 
  state.stake.value += 1;
},

你不需要这样做。在你的商店里有$store。仅在您的vue组件中

在尝试使用此.$store之前,我尝试了state.stack.value,但它仍然无法正常工作。对于store.state.stack.value,还有另一个错误-[Vue warn]:事件“click”的处理程序无效:未定义P.S:与更新的沙盒的链接似乎不起作用,请您重新发送itOn codesandbox它似乎起作用,但在我自己的本地应用程序中,即使遵循了所有建议,它仍然得到
[Vue warn]:render中出错:“TypeError:无法读取未定义“
的属性'stake',如果我在index.js文件中使用store.state,它似乎可以工作,但对于state.stake.value,它只能解析为未定义。我将其设置为store.state.stack.value,当我这样做时,将store作为函数的参数传递,这样我就不会得到事件的错误,它说它无法读取未定义的属性stack…在尝试使用这个$store之前,我尝试了state.stack.value,但它仍然不起作用。对于store.state.stack.value,还有另一个错误-[Vue warn]:事件“click”的处理程序无效:未定义P.S:与更新的沙盒的链接似乎不起作用,请您重新发送itOn codesandbox它似乎起作用,但在我自己的本地应用程序中,即使遵循了所有建议,它仍然得到
[Vue warn]:render中出错:“TypeError:无法读取未定义“
的属性'stake',如果我在index.js文件中使用store.state,它似乎可以工作,但对于state.stake.value,它只能解析为未定义。我将其设置为store.state.stake.value,当我这样做时,将存储作为函数的参数传递,这样我就不会得到事件的错误,它说它无法读取未定义的属性stack…是的,我知道,但它不能简单地处理state.stack.value,这就是为什么我尝试将它作为可选的传递状态作为函数increment中的参数。在您的示例代码中,“increment”后面的括号中没有任何内容,当状态应该在内部时,就像getter中的arrow函数中一样。在getters stateValue:state=>{}中,=>之前的状态是函数中的参数。对增量和减量执行同样的操作,它应该在codesandbox上运行,但在我自己的本地应用程序中,即使遵循了所有建议,它仍然会在render中得到[Vue warn]:错误:“TypeError:无法读取未定义的属性'stake',如果我在index.js文件中使用store.state,它似乎可以工作,但对于state.stack.value,它只解析为未定义。我将其设置为store.state.stake.value,当我这样做时,将store或state作为函数的参数传递,这样我就不会得到事件的错误,它说它无法读取未定义的属性stack。是的,我知道,但它不能简单地处理state.stack.value,这就是为什么我尝试将它作为可选的传递状态作为函数increment中的参数。在您的示例代码中,“increment”后面的括号中没有任何内容,当状态应该在内部时,就像getter中的arrow函数中一样。在getters stateValue:state=>{}中,=>之前的状态是函数中的参数。对增量和减量执行同样的操作,它应该在codesandbox上运行,但在我自己的本地应用程序中,即使遵循了所有建议,它仍然会在render中得到[Vue warn]:错误:“TypeError:无法读取未定义的属性'stake',如果我在index.js文件中使用store.state,它似乎可以工作,但对于state.stack.value,它只解析为未定义。我将其设置为store.state.stack.value,当我这样做时,将store或state作为