sricheta ruj
sricheta ruj

Reputation: 331

Error: Expected the reducer to be a function

I am getting error "Expected the reducer to be a function.".

I am trying to add redux in my simple react project created using create-react-app.I create reducer but also getting error "Expected the reducer to be a function." .here is my code

    import React from 'react';
    import ReactDOM from 'react-dom';
    import './index.css';
    import App from './App';
    import registerServiceWorker from './registerServiceWorker';
    import {combineReducers, createStore} from 'redux';

    function productReducer(state=[],action){
      return state;
    }
    function userReducer(state='',action){
      return state;
    }
    const store = createStore(allReducers);

     console.log(store.getState());

     const allReducers  = store.combineReducers({
       products :productReducer,
       user :userReducer
     });


    console.log(store.getState());
    ReactDOM.render(<App />, document.getElementById('root'));
    registerServiceWorker();

Upvotes: 2

Views: 4928

Answers (1)

sricheta ruj
sricheta ruj

Reputation: 331

combineReducer doesnt need to be called on store object.

import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';
import registerServiceWorker from './registerServiceWorker';
import {combineReducers, createStore} from 'redux';

function productReducer(state=[],action){
  return state;
}
function userReducer(state='',action){
  return state;
}

 const allReducers  = combineReducers({
   products :productReducer,
   user :userReducer
 });

const store = createStore(allReducers);

console.log(store.getState());
ReactDOM.render(<App />, document.getElementById('root'));
registerServiceWorker();

Upvotes: 3

Related Questions