@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);

по отдельности все понятно, а в кучу собрать не могу.
  • Вопрос задан
  • 2061 просмотр
Пригласить эксперта
Ответы на вопрос 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.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
18 апр. 2024, в 21:56
2000 руб./за проект
18 апр. 2024, в 21:00
150 руб./за проект