reactjs - Redux: the previous state received by the reducer has unexpected type of "Function" -


when add middleware chrome extension, reducers stop working on site (but chrome/redux debug tool works) + following error in console:

the previous state received reducer has unexpected type of "function". expected argument object following keys: "auth", "common", "home"

here code:

import { applymiddleware, createstore } 'redux'; import { promisemiddleware, localstoragemiddleware } './middleware'; import reducer './reducer';  const middleware = applymiddleware(promisemiddleware, localstoragemiddleware);  const store = createstore(reducer, middleware,       window.devtoolsextension ? window.devtoolsextension() : f => f);  export default store; 

if remove chrome part:

,window.devtoolsextension ? window.devtoolsextension() : f => f 

if works normal again.

createstore takes 3 arguments. if second argument function assumes second argument store enhancer. if object or there 3 arguments present assumes argument initial state. see here.

your middleware variable store enhancer , chrome extension enhancer:

window.devtoolsextension ? window.devtoolsextension() : f => f 

you have compose both in single function:

import { applymiddleware, createstore, compose } 'redux'; import { promisemiddleware, localstoragemiddleware } './middleware'; import reducer './reducer';  const middleware = applymiddleware(promisemiddleware, localstoragemiddleware);  const store = createstore(   reducer,   compose(middleware, window.devtoolsextension ? window.devtoolsextension() : f => f) );  export default store; 

documentation can found here.


Comments

Popular posts from this blog

sql - invalid in the select list because it is not contained in either an aggregate function -

Angularjs unit testing - ng-disabled not working when adding text to textarea -

How to start daemon on android by adb -