如何解决为什么单个减速器会起作用,但是实现联合减速器会抛出错误?
我正在尝试实施联合减速器,如果有人可以注意的话,我所看到的一切都是正确的。如果我将每个减速器都放进去,但是放进rootReducer,什么也没用。给我props.mutts / felines / applicants.map错误不是功能。
import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import { createStore,applyMiddleware,compose} from 'redux';
import thunk from 'redux-thunk';
import { Provider } from 'react-redux';
import { combineReducers } from 'redux';
import applicantReducer from './reducers/applicantReducer';
import catReducer from './reducers/catReducer';
import dogReducer from './reducers/dogReducer';
import App from './App';
import * as serviceWorker from './serviceWorker';
const composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;
const rootReducer = combineReducers({
applicants: applicantReducer,cats: catReducer,dogs: dogReducer
})
let store = createStore(rootReducer,composeEnhancers(applyMiddleware(thunk)))
ReactDOM.render(
<React.StrictMode>
<Provider store={store}>
<App />
</Provider>
</React.StrictMode>,document.getElementById('root')
);
解决方法
函数 map 仅可用于数组,而不能用于对象。
如果您console.log() props.mutts ,您会发现它是一个对象。
,我需要在容器文件的mapStateToProps中添加reducer。
const mapStateToProps = (state) => {
return{
cats: state.catReducer.cats
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。