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

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

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

Похожие вопросы
23 нояб. 2024, в 21:53
30000 руб./за проект
23 нояб. 2024, в 21:49
1000 руб./в час
23 нояб. 2024, в 20:48
40000 руб./за проект