Ваш пример написан некорректно. Исправленный вариант:
const funcName = () = > dispatch => {
return dispatch({
type: NAME_TYPE,
payload: lol
});
}
Что значить dispatch в данном коде?
Это первый аргумент который использует функция, возвращаемая вашим
AC:
dispatch => {
return dispatch({
type: NAME_TYPE,
payload: lol
});
}
Если подключен
redux-thunk он перехватывает все функции возвращаемые AC и выполняет их, передавая первым аргументом
store.dispatch.
Почему мы его не передаем как аргумент в скобках?
Если правильно вас понял, то при передаче одного аргумента парсер одинаково обрабатывает оба варианта записи:
const foo = (bar) => bar;
и
const foo = bar => bar;
Еще, в данном примере нет никакого смысла возвращать функцию, так как выполняются бессмысленные операции(перехват промежуточным ПО и новый диспатч), ваш AC можно сократить до:
const funcName = () = > ({
type: NAME_TYPE,
payload: lol,
});