【发布时间】:2021-07-29 17:15:30
【问题描述】:
第一次使用带有 react 的 redux。
边缘浏览器出错。
“Store 没有有效的 reducer。确保传递给 combineReducers 的参数是一个其值为 reducer 的对象。”
我搜索了很多这样的帖子。 Redux store does not have a valid 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
}
}
【问题讨论】:
标签: redux