关于mobx中的@computed配和get可加可不加的问题

@ckinmind 2017-03-05 12:44:07发表于 ckinmind/ReactCollect mobx

在看mobx api @computed中提到不加@computed等同于加了@computed,自己测试过程也是如此,代码如下

export default class TodoStore {
	@observable todos = [];
        @computed get activeTodoCount() {
		return this.todos.reduce(function(sum, todo){
		   return sum + (todo.completed ? 0 : 1)
		}, 0);
	}
}
  1. 测试过程发现加不加@computed ,都可以获取正确的activeTodoCount的值
  2. get的用法是ES6的用法,用于拦截(修改)该属性的存取行为,就是在存取之前再对值做一次处理
  3. @compute的作用根据文档得知:计算属性就是那些基于状态或者其他计算属性运算而来的值