1616
1717 if ( window . reducerQueue && window . reducerQueue [ reduxName ] ) {
1818 combinedReducer = Redux . combineReducers ( Object . assign ( { } , reducerObject , window . reducerQueue [ reduxName ] ) ) ;
19+ window . reducerRegistry = { } ;
1920 window . reducerRegistry [ reduxName ] = Object . assign ( { } , window . reducerRegistry [ reduxName ] , reducerObject , window . reducerQueue [ reduxName ] ) ;
2021 } else if ( window . reducerRegistry && window . reducerRegistry [ reduxName ] ) {
2122 combinedReducer = Redux . combineReducers ( reducerObject ) ;
9091 var listener = params ? params . listener : null ;
9192
9293 if ( listener && window . reduxStore && window . reduxStore [ reduxName ] ) {
93- window . reduxStore [ reduxName ] . subscribe ( listener ) ;
94+ return window . reduxStore [ reduxName ] . subscribe ( listener ) ;
9495 }
9596 } ,
9697
147148 for ( var key in mapStateToAttributes ) {
148149 if ( mapStateToAttributes . hasOwnProperty ( key ) ) {
149150 if ( typeof mapStateToAttributes [ key ] === "function" ) {
150- try {
151- var returnedFunction = mapStateToAttributes [ key ] ( ) ;
152- target . set ( key , returnedFunction ( state , target ) ) ;
153- } catch ( e ) {
154- target . set ( key , mapStateToAttributes [ key ] ( state , target ) )
155- }
151+ target . set ( key , mapStateToAttributes [ key ] ( state , target ) )
156152 } else {
157153 target . set ( key , state [ mapStateToAttributes [ key ] ] ) ;
158154 }
163159
164160 handleChanges ( ) ;
165161
166- window . reduxStore [ reduxName ] . subscribe ( handleChanges ) ;
162+ component . unsubscribe = window . reduxStore [ reduxName ] . subscribe ( handleChanges ) ;
167163 target . dispatch = window . reduxStore [ reduxName ] . dispatch ;
168164 } else {
169165 if ( window . subscriberQueue && window . subscriberQueue [ reduxName ] ) {
179175 } ] ;
180176 }
181177 }
178+ } ,
179+ handleUnsubscribe : function ( component ) {
180+ if ( component . unsubscribe ) {
181+ component . unsubscribe ( ) ;
182+ }
182183 }
183184
184185} )
0 commit comments