redux - 使用导出默认存储时,Redux 存储没有有效的减速器
问题描述
第一次使用带有反应的 redux。
边缘浏览器出错。
“Store 没有有效的减速器。确保传递给 combineReducers 的参数是一个其值为减速器的对象。”
我搜索了很多这样的帖子。 Redux 商店没有有效的 reducer
但我还没有找到任何关于这个相同问题的信息:
store.js
import { createStore, combineReducers, applyMiddleware } from 'redux';
import thunk from 'redux-thunk'
import { composeWithDevTools } from 'redux-devtools-extension'
const reducer = combineReducers({})
const initialState = {}
const middleware = [thunk]
const store = createStore(reducer, initialState,
composeWithDevTools(applyMiddleware(...middleware)))
export default store
index.js
import React from 'react';
import ReactDOM from 'react-dom';
import { Provider } from 'react-redux'
import store from './store'
import './index.css';
import './bootstrap.min.css'
import App from './App';
import reportWebVitals from './reportWebVitals';
ReactDOM.render(
<Provider store={store}>
<App />
</Provider>,
document.getElementById('root')
);
// If you want to start measuring performance in your app, pass a function
// to log results (for example: reportWebVitals(console.log))
// or send to an analytics endpoint. Learn more.
reportWebVitals();
编辑 (下面朋友提到的解决方案):
store.js 添加到文件 store.js 的编辑信息
import { productListReducer } from './reducers/productReducers';
const reducer = combineReducers({
productList: productListReducer,
})
productReducer.js
教授添加了一个名为 /reducers/productReducer.js 的文件
export const productListReducer = (state = { products: [] }, action ) => {
switch(action.type) {
case 'PRODUCT_LIST_REQUEST':
return {loading:true, products:[]};
case 'PRODUCT_LIST_SUCCESS':
return {loading:false, products:action.payload};
case 'PRODUCT_LIST_FAIL':
return {loading:false, error:action.payload};
default:
return state
}
}
解决方案
问题是您没有传递任何要由“combineReducers”组合的减速器。Sice 你没有传递任何减速器,没有人听这些动作。
前任:
import myReducer from './reducers' const reducer = combineReducer( { myReducer:myReducer })
然后您可以将其传递给您的商店。
推荐阅读
- swiftui - SwiftUI:在 Firebase ML Kit 识别的元素周围绘制矩形
- python - Python 3.8.1 - PermissionError: [Errno 13] Permission denied
- c# - 如何在统一上修复此错误:无法将浮点类型隐式转换为 UnityEngine.transform
- python - 似乎无法让 Boto 的 dynamodb.update_item 工作
- javascript - React Navigation V5 隐藏底部选项卡
- node.js - 我应该如何对需要续集的东西进行单元测试?
- bash - Bash - 如何在后台进程描述中显示变量值而不是名称?
- reactjs - React MaterialTable 可编辑行验证 - 如何显示和隐藏错误?
- python - numpy loadtxt 增量保存内存?
- boost-asio - boost tcp async_connect() 有时无法连接到同一 LAN 上的服务器,直到重新启动 Windows