Search code examples
reactjsfirebasereact-redux-firebase

How to migrate to v3 of react-redux-firebase


I trying to migrate my project from react-redux-firebase v2 to v3 with the new ReactReduxFirebaseProvider & createFirestoreInstance

My code works as is now. But after the upgrade to react-redux-firebase v3, it's not. Im getting this error:

undefined

This is my index.js:

import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';
import registerServiceWorker from './registerServiceWorker';
import { createStore, applyMiddleware, compose } from 'redux'
import rootReducer from './store/reducers/rootReducer'
import { Provider } from 'react-redux'
import thunk from 'redux-thunk'
import { reduxFirestore, getFirestore } from 'redux-firestore';
import { reactReduxFirebase, getFirebase } from 'react-redux-firebase';
import fbConfig from './config/fbConfig'

const store = createStore(rootReducer,
  compose(
    applyMiddleware(thunk.withExtraArgument({getFirebase,     
getFirestore})),
    reactReduxFirebase(fbConfig), // redux binding for firebase
    reduxFirestore(fbConfig) // redux bindings for firestore
  )
);

ReactDOM.render(<Provider store={store}><App /></Provider>,     
document.getElementById('root'));
registerServiceWorker();

I have tried to implement it from their own migrate guide that they have here: http://react-redux-firebase.com/docs/v3-migration-guide.html#what-changed But I not getting it... maybe I still got a lot to learn. But would be nice if someone could point me in the right direction.

I have tried to changed the code but not with any good result:

import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';
import registerServiceWorker from './registerServiceWorker';
import { createStore, applyMiddleware, compose } from 'redux'
import rootReducer from './store/reducers/rootReducer'
import { Provider } from 'react-redux'
import thunk from 'redux-thunk'
import { ReactReduxFirebaseProvider, getFirebase } from 'react-redux-firebase';
import { createFirestoreInstance, getFirestore } from 'redux-firestore'
import fbConfig from './config/fbConfig'


const store = createStore(rootReducer,
  compose(
    applyMiddleware(thunk.withExtraArgument({getFirebase, getFirestore})),
  )
);

const rrfProps = {
  firebase,
  config: fbConfig,
  dispatch: store.dispatch,
  createFirestoreInstance
}

ReactDOM.render(
<Provider store={store}>
  <ReactReduxFirebaseProvider {...rrfProps}>
    <App />
  </ReactReduxFirebaseProvider>
</Provider>, document.getElementById('root'));
registerServiceWorker();

Solution

  • looks like you actually didnt updated react-redux-firebase to v3.

    can you check version of react-redux-firebase in package.json? if it is still v2 then you can update it to v3 with npm install react-redux-firebase@next

    v3 is next major release and not yet installable with npm install react-redux-firebase@latest at this time.