Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/400.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 &引用;这";在我的类中是未定义的_Javascript_Reactjs_This_Mobx - Fatal编程技术网

Javascript &引用;这";在我的类中是未定义的

Javascript &引用;这";在我的类中是未定义的,javascript,reactjs,this,mobx,Javascript,Reactjs,This,Mobx,我的小todo应用程序有问题。每次尝试删除项目时,都会出现错误无法读取未定义的属性“todos” 为什么此绑定在addTodo中,而不是removeTodo 触发器在这里完成:removeTodo(id)}>X 演示 谢谢。您可以将removeTodo设置为属性初始化箭头函数,或使用操作.bound装饰器。您还必须使用MobX阵列,以免丢失引用: removeTodo = (id) => { var filtered = this.todos.filter(todo => tod

我的小todo应用程序有问题。每次尝试删除项目时,都会出现错误
无法读取未定义的属性“todos”

为什么
绑定在
addTodo
中,而不是
removeTodo

触发器在这里完成:
removeTodo(id)}>X

演示


谢谢。

您可以将
removeTodo
设置为属性初始化箭头函数,或使用
操作.bound
装饰器。您还必须使用MobX阵列,以免丢失引用:

removeTodo = (id) => {
  var filtered = this.todos.filter(todo => todo.id !== id);
  this.todos.replace(filtered);
}
或:


您可以将
removeTodo
设置为属性初始化箭头函数,或使用
action.bound
decorator。您还必须使用MobX阵列,以免丢失引用:

removeTodo = (id) => {
  var filtered = this.todos.filter(todo => todo.id !== id);
  this.todos.replace(filtered);
}
或:


可能重复的可能重复的可能重复的谢谢Thole现在开始工作了。我只是简单地在我的函数中添加了
@action.bound()
,一切都按预期工作。@jonathandion太棒了!谢谢你,Thole,现在开始工作了。我只是简单地在我的函数中添加了
@action.bound()
,一切都按预期工作。@jonathandion太棒了!