Задать вопрос
@vs1710

Как работает applyMiddleware?

import React from 'react';
import ReactDOM from 'react-dom';
import { BrowserRouter } from 'react-router-dom';

import { Provider } from 'react-redux';
import { createStore, applyMiddleware } from 'redux';
import promiseMiddleware from 'redux-promise'

import Routes from './routes';


const createStoreWithMiddleware = applyMiddleware(promiseMiddleware)(createStore);
console.log(createStoreWithMiddleware);

ReactDOM.render(
    <Provider store={createStoreWithMiddleware}>
        <BrowserRouter>
            <Routes />
        </BrowserRouter>
    </Provider>
    , document.getElementById('root'));


Обьясните пожалуйста как работает вот эта строчка кода:
const createStoreWithMiddleware = applyMiddleware(promiseMiddleware)(createStore);

по отдельности все понятно, а в кучу собрать не могу.
  • Вопрос задан
  • 2067 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
maxfarseer
@maxfarseer
https://maxpfrontend.ru, обучаю реакту и компании
Что именно непонятно, как работает ()() ?
Такая запись понятна?
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.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы