@@ -4,6 +4,7 @@ import { isEqual, some, filter } from 'lodash'
44import hoistStatics from 'hoist-non-react-statics'
55import { createCallable , wrapDisplayName } from './utils'
66import ReduxFirestoreContext from './ReduxFirestoreContext'
7+ import ReactReduxFirebaseContext from './ReactReduxFirebaseContext'
78
89/**
910 * @name createFirestoreConnect
@@ -87,27 +88,35 @@ export const createFirestoreConnect = (storeKey = 'store') => (
8788 }
8889
8990 FirestoreConnectWrapped . propTypes = {
90- dispatch : PropTypes . func ,
91+ dispatch : PropTypes . func . isRequired ,
9192 firebase : PropTypes . object ,
9293 firestore : PropTypes . object
9394 }
9495
9596 const HoistedComp = hoistStatics ( FirestoreConnectWrapped , WrappedComponent )
9697
9798 const FirestoreConnect = props => (
98- < ReduxFirestoreContext . Consumer >
99- { firestore => < HoistedComp firestore = { firestore } { ...props } /> }
100- </ ReduxFirestoreContext . Consumer >
99+ < ReactReduxFirebaseContext . Consumer >
100+ { firebase => (
101+ < ReduxFirestoreContext . Consumer >
102+ { firestore => (
103+ < HoistedComp
104+ firestore = { firestore }
105+ firebase = { firebase }
106+ dispatch = { firebase . dispatch }
107+ { ...props }
108+ />
109+ ) }
110+ </ ReduxFirestoreContext . Consumer >
111+ ) }
112+ </ ReactReduxFirebaseContext . Consumer >
101113 )
114+
102115 FirestoreConnect . displayName = wrapDisplayName (
103116 WrappedComponent ,
104117 'FirestoreConnect'
105118 )
106119
107- FirestoreConnect . propTypes = {
108- dispatch : PropTypes . func . isRequired
109- }
110-
111120 return FirestoreConnect
112121}
113122
0 commit comments