export const loginUser = userData => dispatch => {
dispatch(showLoading(true));
}
这很好
这会引发错误
export const loginUser = userData => {
dispatch(showLoading(true)); // dispatch undefined
}
如果我理解正确,则第一个代码片段等于
function loginUser(userData) {
// dispatch is available here since its taken as a param for this inner function
return function(dispatch){
dispatch(showLoading(true));
}
}
这意味着可以在此处的loginUser函数中使用分派。 那么为什么第二个代码段中没有该功能。
答案 0 :(得分:1)
等效于
的箭头功能nv-nsight-cu-cli
是
export const loginUser = userData => dispatch => {
dispatch(showLoading(true));
}
,当您执行export function loginUser(userData) {
return function(dispatch) {
dispatch(showLoading(true));
}
}
函数时,其执行方式类似于
loginUser
,因此loginUser(userData)(dispatch);
是内部函数被调用的参数,不能作为外部函数内部的值使用。
因此在您的示例中
dispatch
export const loginUser = userData => {
dispatch(showLoading(true)); // dispatch undefined
}
未定义