【发布时间】:2018-03-07 07:47:41
【问题描述】:
我想用下面的答案 Redux state persistence with a database
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;
}
【问题讨论】:
-
compose 返回一个与第一个参数具有相同签名的函数 - createStore,然后使用第二个参数调用该函数。 - reducer 和初始状态
-
@ReiDien 有没有关于 javascript 中这种语法的教程?
-
我没有。也许只是对功能的深入了解可以帮助您解决并发症
标签: javascript reactjs react-native redux redux-thunk