0

我在使用 redux-toolkit configureStore 函数时遇到了一些问题,每当我尝试在页面上调用 dispatch 时,都会出现“Store 没有有效的 reducer”错误。我想我的导入是正确的,并且商店也在我的 index.js 文件的上层。

这是它的外观:

store.js 文件:

import { configureStore } from "@reduxjs/toolkit";
import bookReducer from "../reducers/book";

export default configureStore({
  reducer: { books: bookReducer }
});

book.js 文件:

import { createSlice } from '@reduxjs/toolkit'

export const bookSlice = createSlice({
  name: 'books',
  initialState: {
    bookList: []
  },
  reducers: {
    getBookSuccess: (state, action) => console.log(action.payload),
    getBookFailure: (state, action) => console.log(action.payload),
    setLoading: (state, action) => ({ ...state, loadingTarget: action.loadingTarget, loadingType: action.loadingType })
  }
})

export const { getBookSuccess, getBookFailure, setLoading } = bookSlice.actions;

export default bookSlice.reducer;

index.js 文件:

import React from 'react';
import ReactDOM from 'react-dom';
import './index.scss';
import App from './App';
import store from './app/store';
import { Provider } from 'react-redux';
import './fontAwesome'

ReactDOM.render(
  <React.StrictMode>
    <Provider store={store}>
      <App />
    </Provider>
  </React.StrictMode>,
  document.getElementById('root')
);

提前致谢!

4

2 回答 2

2

实际上这是我的错误,有两个商店(一个来自模板)。我正在导入原始的,而不是我创建的。

于 2020-06-18T21:30:59.607 回答
1

我想如果你改变configureStore这个:

export default configureStore({
  reducer: bookReducer
});

它应该工作。

于 2020-06-18T16:45:32.460 回答