我正在尝试在react组件之外的某个事件上调度redux动作。但是,当我import store from '../../app/store'
在包含此事件处理程序的单独的js文件中执行操作时,我在组件内部收到以下错误:
No reducer provided for key "myReducer"
我的文件:
store.js:
import { configureStore } from '@reduxjs/toolkit';
// ...
import rootReducer from './rootReducer'
const middleware = //...
const store = configureStore({
reducer: rootReducer,
middleware
});
export default store;
rootReducer:
import { combineReducers } from 'redux';
// reducers created with createSlice and exported like this: export default SomeFeatureSlice.reducer;
import myReducer from '../features/my/mySlice'
import SomeFeatureReducer from '../features/some_feature/SomeFeatureSlice'
const rootReducer = combineReducers({
//...
myReducer,
SomeFeatureReducer
});
export default rootReducer;
零件:
// ...
const mapStateToProps = state => ({
some_prop: state.myReducer.some_prop
})
// ...
处理程序:
// ...
import store from '../../app/store'
// an action exported this way: export const { myAction } = SomeFeatureSlice.actions;
import { myAction } from '../../features/some_feature/SomeFeatureSlice'
//...
store.dispatch(myAction());
//...
index.js:
import store from './app/store';
// ...
ReactDOM.render(
<React.Fragment>
<Provider store={store}>
<App />
</Provider>
</React.Fragment>,
document.getElementById('root')
);
当我import store
从处理程序中删除语句时,一切正常。我做错了什么?
我不确定“ handler.js”文件适合您的应用程序的位置。
然而:
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句