getTodoById: (state) => (id) => {
return state.todos.find(todo => todo.id === id)
}
这个箭头函数是什么意思?
是相当于下面这个函数吗?
function getTodoById(state){
return function(id){
return state.todos.find(todo => todo.id === id)
}
}
是的
//箭头函数语法:这个函数是在箭头函数里return一个函数,return的函数也用的箭头函数,整个都是简写的箭头函数
getTodoById: (state) => (id) => {
return state.todos.find(todo => todo.id === id)
}
//普通函数
function getTodoById(state){
return function(id){
return state.todos.find(todo => todo.id === id)
}
}
这是个普通函数,参数是state,返回值是res
function(state){
return res
}
写成es6的箭头函数就是以下形式
(state) => { return res }
然后如果后面的内容打算直接返回的话可以直接去掉花括号{},或者使用括号()
(state) => res
//或
(state) => ( res )
然后如果这里的返回值res也是个箭头函数那你就可以写成
(state) => () => { return... }//此处就是你的例子
//或
(state) => ( () => { return... } )
没点进来以为是lambda表达式表示的匿名函数