Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
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
2 changes: 2 additions & 0 deletions SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@
* [constants](/docs/api/constants.md)
* [firebaseConnect](/docs/api/connect.md)
* [firebaseStateReducer](/docs/api/reducer.md)
* [props.firebase](/docs/api/props-firebase.md)
* [getFirebase](/docs/api/get-firebase.md)
* [reactReduxFirebase](/docs/api/compose.md)
* [helpers](/docs/api/helpers.md)
* [Roadmap](/docs/roadmap.md)
Expand Down
41 changes: 0 additions & 41 deletions docs/api/compose.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,44 +59,3 @@ const store = createStoreWithFirebase(rootReducer, initialState)
```

Returns **[Function](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/function)** That accepts a component a returns a wrapped version of component

# getFirebase

Expose Firebase instance created internally. Useful for
integrations into external libraries such as redux-thunk and redux-observable.

**Examples**

_redux-thunk integration_

```javascript
import { applyMiddleware, compose, createStore } from 'redux';
import thunk from 'redux-thunk';
import { reactReduxFirebase } from 'react-redux-firebase';
import makeRootReducer from './reducers';
import { getFirebase } from 'react-redux-firebase';

const fbConfig = {} // your firebase config

const store = createStore(
makeRootReducer(),
initialState,
compose(
applyMiddleware([
// Pass getFirebase function as extra argument
thunk.withExtraArgument(getFirebase)
]),
reactReduxFirebase(fbConfig)
)
);
// then later
export const addTodo = (newTodo) =>
(dispatch, getState, getFirebase) => {
const firebase = getFirebase()
firebase
.push('todos', newTodo)
.then(() => {
dispatch({ type: 'SOME_ACTION' })
})
};
```
40 changes: 40 additions & 0 deletions docs/api/get-firebase.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# getFirebase

Expose Firebase instance created internally, which is the same as [props.firebase](/docs/api/props-firebase.md). Useful for
integrations into external libraries such as redux-thunk and redux-observable.

**Examples**

_redux-thunk integration_

```javascript
import { applyMiddleware, compose, createStore } from 'redux';
import thunk from 'redux-thunk';
import { reactReduxFirebase } from 'react-redux-firebase';
import makeRootReducer from './reducers';
import { getFirebase } from 'react-redux-firebase';

const fbConfig = {} // your firebase config

const store = createStore(
makeRootReducer(),
initialState,
compose(
applyMiddleware([
// Pass getFirebase function as extra argument
thunk.withExtraArgument(getFirebase)
]),
reactReduxFirebase(fbConfig)
)
);
// then later
export const addTodo = (newTodo) =>
(dispatch, getState, getFirebase) => {
const firebase = getFirebase()
firebase
.push('todos', newTodo)
.then(() => {
dispatch({ type: 'SOME_ACTION' })
})
};
```
Loading