我正在尝试对 react 组件之外的某个事件发送 redux 操作。但是当我这样做时 import store from '../../app/store'
在包含此事件处理程序的单独 js 文件中,我在组件内收到以下错误:No reducer provided for key "myReducer"
我的文件:
商店.js:
import { configureStore } from '@reduxjs/toolkit';
// ...
import rootReducer from './rootReducer'
const middleware = //...
const store = configureStore({
reducer: rootReducer,
middleware
});
export default store;
根 reducer :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());
//...
索引.js:import store from './app/store';
// ...
ReactDOM.render(
<React.Fragment>
<Provider store={store}>
<App />
</Provider>
</React.Fragment>,
document.getElementById('root')
);
当我删除 import store
来自处理程序的声明一切正常。我做错了什么?
最佳答案
我不确定“handler.js”文件在哪里适合您的应用程序。
然而:
关于reactjs - react Redux 工具包 : No reducer provided for key "myReducer" when importing store to separate files,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64134451/