Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Fix unwanted re-initialization when parent component update
  • Loading branch information
illuminist committed Jul 8, 2019
commit 3288876a31fe34855b695e0c7f257ab757583301
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@
"prop-types": "^15.6.2"
},
"peerDependencies": {
"react": "^16.4.0"
"react": "^16.8.0"
},
"devDependencies": {
"@babel/cli": "^7.2.0",
Expand Down
20 changes: 13 additions & 7 deletions src/ReactReduxFirebaseProvider.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,21 @@ function ReactReduxFirebaseProvider(props = {}) {
initializeAuth,
createFirestoreInstance
} = props
const extendedFirebaseInstance = createFirebaseInstance(
firebase,
config,
dispatch
const extendedFirebaseInstance = React.useMemo(
() => {
const extendedFirebaseInstance = createFirebaseInstance(
firebase,
config,
dispatch
)
if (initializeAuth) {
extendedFirebaseInstance.initializeAuth()
}
return extendedFirebaseInstance
},
[firebase, config, dispatch]
)
// Initialize auth if not disabled
if (initializeAuth) {
extendedFirebaseInstance.initializeAuth()
}
if (createFirestoreInstance) {
return (
<ReactReduxFirebaseContext.Provider value={extendedFirebaseInstance}>
Expand Down
33 changes: 20 additions & 13 deletions src/ReduxFirestoreProvider.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,20 +12,27 @@ function ReduxFirestoreProvider(props = {}) {
createFirestoreInstance,
initializeAuth
} = props
const extendedFirebaseInstance = createFirebaseInstance(
firebase,
config,
dispatch
)
const extendedFirestoreInstance = createFirestoreInstance(
firebase,
config,
dispatch
const extendedFirestoreInstance = React.useMemo(
() => {
const extendedFirebaseInstance = createFirebaseInstance(
firebase,
config,
dispatch
)
const extendedFirestoreInstance = createFirestoreInstance(
firebase,
config,
dispatch
)
// Initialize auth if not disabled
if (initializeAuth) {
extendedFirebaseInstance.initializeAuth()
}

return extendedFirestoreInstance
},
[firebase, config, dispatch, createFirestoreInstance, initializeAuth]
)
// Initialize auth if not disabled
if (initializeAuth) {
extendedFirebaseInstance.initializeAuth()
}
return (
<ReduxFirestoreContext.Provider value={extendedFirestoreInstance}>
{children}
Expand Down