Что именно непонятно, как работает ()() ?
Такая запись понятна?
function sum(x) {
return function(y) {
return x+y
}
}
sum(1)(2) // 3
sum(1) // Function
В
документации посмотрите на:
- Arguments
- Returns
promiseMiddleware получает в качестве аргументов dispatch и getState (хоть это и не прописано явно, типа promiseMiddleware(dispatch, getState)).
applyMiddleware(promiseMiddleware) - возвращает функцию, поэтому можно вызвать (скобочки) ее, куда передается createStore аргумент, который импортирован выше из библиотеки redux.