我正在尝试使用saga中间件和异步操作建立一个react redux存储,以及react-router-redux和selectors。
对于某些sagamiddleware无法读取未定义的属性getState。我不知道为什么。
我的顶级目录结构是:
./src/app.js
./src/sagas/index.js and imported sagas into this file
./src/Containers/App/actions.js constants.js appReducer.js selectors.js
./src/Containers/App/toplevelcomponenthere
app.js
import sagas from './sagas';
import createReducer from './reducers.js';
const sagaMiddleware = createSagaMiddleware();
const createStoreWithMiddleware = applyMiddleware(reduxRouterMiddleware,
sagaMiddleware(...sagas))(createStore);
const store = createStoreWithMiddleware(createReducer);
const reduxRouterMiddleware = syncHistoryWithStore(browserHistory)
//add selectors and history
import { selectLocationState } from './Containers/App/selectors';
const history = syncHistoryWithStore(browserHistory, store, {
selectLocationState: selectLocationState(),
});
class Base extends Component {
render() {
return (
<Provider store={store}>
{children}
</Provider>
)
}
}