Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript MobX';这';在setter操作中未定义_Javascript_Reactjs_Create React App_Mobx_Mobx React - Fatal编程技术网

Javascript MobX';这';在setter操作中未定义

Javascript MobX';这';在setter操作中未定义,javascript,reactjs,create-react-app,mobx,mobx-react,Javascript,Reactjs,Create React App,Mobx,Mobx React,我正在使用JS和mobxdecoration方法的最新create react应用程序设置 import { observable, action, decorate } from 'mobx' class UserStore { users = [] currentUser = {} setUsers(value) { this.users = value } } decorate(UserStore, { users: observable, curre

我正在使用JS和
mobx
decoration
方法的最新create react应用程序设置

import { observable, action, decorate } from 'mobx'

class UserStore {
  users = []
  currentUser = {}

  setUsers(value) {
    this.users = value
  }
}

decorate(UserStore, {
  users: observable,
  currentUser: observable,
  setUsers: action
})

export default UserStore
我可以使用存储并读取空的
用户
当前用户
观察值,但当我尝试使用
设置用户
操作时,我收到以下错误:

TypeError:无法设置未定义的属性“users”


这看起来像是未定义的
这个
,但这是大多数MobX教程显示的常见方式,不应该抛出错误…

当将MobX与普通JavaScript一起使用时,不同的上下文可能会有点混乱。。。MobX的引入使这变得更容易

使用
action.bound
的正确方法是:

setUsers: action.bound
或者我们可以使用lambda函数来确保上下文正确:

setUsers = value => {
  this.users = value
}

任何更改都将确保setter函数的上下文是正确的,并且可以使用类
this
。查看更多详细说明。

2021此处!答案中的链接已断开。这里谢谢@Emidomenge,我更新了链接