Ich versuche Redux in meiner Universal-App zu implementieren, aber ich habe ein paar Probleme mit Redux. Ich habe diese configureStore Funktion:React + Redux - Erwartet, dass der Reducer eine Funktion ist
import { createStore, applyMiddleware, compose } from 'redux';
import thunkMiddleware from 'redux-thunk';
import createLogger from 'redux-logger'
import rootReducer from '../reducers/index';
import { routerMiddleware } from 'react-router-redux';
export default function configureStore(history, initialState) {
const reduxRouterMiddleware = routerMiddleware(history);
let finalCreateStore;
if (__DEVELOPMENT__ && __CLIENT__ && __DEVTOOLS__) {
const { persistState } = require('redux-devtools');
const DevTools = require('../containers/DevTools/DevTools');
finalCreateStore = compose(
applyMiddleware(thunkMiddleware)(createStore),
window.devToolsExtension ? window.devToolsExtension() : DevTools.instrument(),
persistState(window.location.href.match(/[?&]debug_session=([^&]+)\b/))
)(createStore);
}
else {
finalCreateStore = applyMiddleware(thunkMiddleware)(createStore);
}
const store = finalCreateStore(rootReducer, initialState);
if (__DEVELOPMENT__ && module.hot) {
module.hot.accept(rootReducer,() => {
store.replaceReducer(rootReducer);
});
}
return store;
}
Und dann habe ich meine rootReducer-Datei, die wie folgt aussieht:
import { combineReducers } from 'redux';
import environment from './environment';
import general from './general';
import alert from './alert';
import user from './user';
import { routerReducer } from 'react-router-redux'
const rootReducer = combineReducers({
environment,
general,
alert,
user,
routing: routerReducer
});
export default rootReducer;
Das Problem ist, dass ich diesen Fehler: Erwartet das Reduktions eine sein Funktion. Ich habe auf StackOverflow gegoogelt und gesucht (wo es einige ähnliche Probleme gibt), aber die Antworten funktionieren in meinem Fall nicht.
Also, was mache ich falsch? und warum ?
Danke.
Does '/ general','/environment', '/ alert' und'/user' alle haben ein 'export default' das ist eine Funktion? – ivarni
@ivarni ist wie folgt: https://gist.github.com/inchr/60ddb797a659e7d34ae145122b1b3187 also: export default function nameReducer() {...} – Noah
Probieren Sie 'console.log' auf all Ihren Reduzierungen im' rootReducer 'Datei zu sehen, welche von ihnen ist keine Funktion –