mobx的一个新手问题

初次使用mobx写一个todoList,遇到了问题,简略版代码如下


class Store {
    @observable todos = [];
    @action addTodo(task){
        this.todos.push({
            task,
            completed: false
        })
    }
}

class component extends React.Component {
    // 省略其他部分
    render() {
        return 
        (<div>
           <div onClick={() => this.props.addTodo('新任务')}>添加新任务</div>
          {this.props.store.todos.map(todo => <Todo>{todo.task}</Todo>)}
        </div>)
    }
}

问题

在onclick函数那里
如果onClick={this.props.addTodo.bind(this,'新任务')}这么写就会报错push is undefined
如果onClick={() => this.props.addTodo('新任务')这么写就没事,请问为什么?

阅读 2.4k
1 个回答

你绑定了this, addTodo里头的this就变成组件的this了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题