Table of Contents
withFirestore
Extends React.Component
Higher Order Component that attaches firestore, firebase
and dispatch as props to React Components.
Parameters
WrappedComponentReact.Component React component to wrap
Examples
Basic
import React from 'react'
import { withFirestore } from 'react-redux-firebase'
function AddTodo({ firestore: { add } }) {
return (
<div>
<button onClick={() => add('todos', { done: false, text: 'Sample' })}>
Add Sample Todo
</button>
</div>
)
}
export default withFirestore(AddTodo)
Within HOC Composition
import React from 'react'
import { compose } from 'redux' // can also come from recompose
import { withHandlers } from 'recompose'
import { withFirestore } from 'react-redux-firebase'
function AddTodo({ addTodo }) {
return (
<div>
<button onClick={addTodo}>
Add Sample Todo
</button>
</div>
)
}
const enhance = compose(
withFirestore,
withHandlers({
addTodo: props => () => {
const newTodo = { done: false, text: 'Sample' }
return props.firestore.add({ collection: 'todos' }, newTodo)
}
})
)
export default enhance(AddTodo)
Returns Function Which accepts a component to wrap and returns the wrapped component
WithFirestore
WithFirebase wrapper component
Parameters
propsobject Component props
Returns React.Component WrappedComponent wrapped with firebase context