reactjs - react Redux 工具包 : No reducer provided for key "myReducer" when importing store to separate files

标签 reactjs redux redux-toolkit

我正在尝试对 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”文件在哪里适合您的应用程序。
然而:

  • 您可能已经创建了 a circular import dependency issue ,这会破坏事情,因为其中一个文件在设置商店时不会被初始化。
  • You shouldn't be importing the store into other files anyway
  • 关于reactjs - react Redux 工具包 : No reducer provided for key "myReducer" when importing store to separate files,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64134451/

    相关文章:

    reactjs - 带有 preloadedState 的 Redux (Toolkit) 存储的类型定义

    reactjs - 如何更新 Redux 工具包中的嵌套对象?

    javascript - react : Updated state not reflecting in recursive useCallback

    javascript - Redux 比较数组的每个索引

    react-native - 在 React Native 中使用 RTK-Query useLazyQuery 时,Jest 无法正确退出

    javascript - 在 react-router-dom 中将 id 作为 props 传递

    javascript - 为什么 <form> 上的 onChange 事件处理程序从 <select> 获取分派(dispatch)的事件,而不是从 &lt;input&gt; 获取?

    javascript - shouldComponentUpdate + deepEqual 和数组

    reactjs - 警告 : Failed propType: Invalid prop `component` supplied to `Route` Google Map React

    javascript - 为什么在reducer中使用switch case?