@@ -2,35 +2,39 @@ import isFunction from '../utils/isFunction';
22import shallowEqual from '../utils/shallowEqual' ;
33import invariant from 'invariant' ;
44
5- export default function Connector ( store ) {
6- return {
7- connect : ( selectors , callback , disableCaching = false ) => {
8- if ( ! Array . isArray ( selectors ) ) {
9- selectors = [ selectors ] ;
10- }
5+ export default function Connector ( ) {
6+ let store ;
7+ return {
8+ connect : ( selectors , callback , disableCaching = false ) => {
9+ if ( ! Array . isArray ( selectors ) ) {
10+ selectors = [ selectors ] ;
11+ }
1112
12- invariant (
13- isFunction ( callback ) ,
14- 'The callback parameter passed to connect must be a Function. Instead received %s.' ,
15- typeof selector
16- ) ;
13+ invariant (
14+ isFunction ( callback ) ,
15+ 'The callback parameter passed to connect must be a Function. Instead received %s.' ,
16+ typeof selector
17+ ) ;
1718
18- //Initial update
19- let params = selectors . map ( selector => selector ( store . getState ( ) ) ) ;
20- callback ( ...params ) ;
19+ //Initial update
20+ let params = selectors . map ( selector => selector ( store . getState ( ) ) ) ;
21+ callback ( ...params ) ;
2122
22- let unsubscribe = store . subscribe ( ( ) => {
23- let nextParams = selectors . map ( selector => selector ( store . getState ( ) ) ) ;
24- if ( disableCaching || ! shallowEqual ( params , nextParams ) ) {
25- callback ( ...nextParams ) ;
26- params = nextParams ;
27- }
28- } ) ;
23+ let unsubscribe = store . subscribe ( ( ) => {
24+ let nextParams = selectors . map ( selector => selector ( store . getState ( ) ) ) ;
25+ if ( disableCaching || ! shallowEqual ( params , nextParams ) ) {
26+ callback ( ...nextParams ) ;
27+ params = nextParams ;
28+ }
29+ } ) ;
2930
30- return unsubscribe ;
31- } ,
32- getStore ( ) {
33- return store ;
34- }
31+ return unsubscribe ;
32+ } ,
33+ getStore ( ) {
34+ return store ;
35+ } ,
36+ setStore ( reduxStore ) {
37+ store = reduxStore ;
3538 }
36- }
39+ }
40+ }
0 commit comments