action函数
本小节将介绍action函数,注意:action函数与action不同
1、创建对象的工厂模式
我们借用讲action的机会回顾js高程创建对象的工厂模式
function createAction(text){
var o = new Object();
o.type = ADD_TODO;
o.text = text;
return o;
}
工厂模式很好的解决了创建多个相似对象的问题
2、什么叫action函数
简单的说:action函数是指生成action的方法。
大家看下面的action函数,你会发现他不就是js创建对象模式里面的工厂模式吗?
function addTodo(text){
return {
type:'ADD_TODO',
text
}
}
3、为什么要用action函数
大家可能会想我们完全可以直接使用action啊,当然可以,action函数并不是必须的。
虽然我们可以直接使用Object构造,或者用对象字面量创建action,但是,这样做我们将会大量重复,我想谁都不会想让自己的代码又臭又长又难维护吧。
3、设计action函数
根据我们上一小节设计的action,我们可以造出三座工厂。
function addTodo(text){
return {
type:ADD_TODO,
text
}
}
function completeTodo(index){
return {
type:COMPELETE_TODO,
index
}
}
function selectFilter(filter){
return {
type:SETFILTER,
filter
}
}
完成selectFilter的设计