问题描述
我正在尝试实施联合减速器,如果有人可以注意的话,我所看到的一切都是正确的。如果我将每个减速器都放进去,但是放进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
}
}