使用多个 applyMiddleware 反应 Redux

React Redux with multi applyMiddleware

我想使用以下答案

import {createStore, compose, applyMiddleware} from 'redux';

const localStorageMiddleware = ({getState}) => {
  return (next) => (action) => {
    const result = next(action);
    localStorage.setItem('applicationState', JSON.stringify(
      getState()
    ));
    return result;
  };
};

const store = compose(
  applyMiddleware(
    localStorageMiddleware
  )
)(createStore)(
  reducer,
  JSON.parse(localStorage.getItem('applicationState'))
)

但是我没看懂这里的javascript语法 他怎么用compose(argument)(createStore)(argument)?

有没有像createStore(reducer,initialState,compose(argument))这样的替代方案?

此外,初始状态将如何传递到这里

const createStoreWithMiddleware = compose(  
  applyMiddleware(thunkMiddleware)
)(createStore);

export default function configureStore(initialState) {  
  const store = createStoreWithMiddleware(rootReducer);
  return store;
}

是的! enhancer()(createStore) 语法是使用 createStore 的旧式方式,我们正试图鼓励人们改用新语法:

const composedEnhancers = compose(
    firstEnhancer,
    secondEnhancer
);

const store = createStore(
    rootReducer,
    preloadedState,
    composedEnhancers
);