Skip to content

Commit cb2a56a

Browse files
authored
v2.2.6
* fix(storage): support only firestore when calling upload and writing - prescottprue#600, prescottprue#601
2 parents 788b31a + 5074288 commit cb2a56a

File tree

5 files changed

+61
-46
lines changed

5 files changed

+61
-46
lines changed

docs/api/firestoreConnect.md

+5-7
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ needing to access a firebase instance created under a different store key.
2323
_Basic_
2424

2525
```javascript
26-
// this.props.firebase set on App component as firebase object with helpers
26+
// props.firebase set on App component as firebase object with helpers
2727
import { createFirestoreConnect } from 'react-redux-firebase'
2828
// create firebase connect that uses another redux store
2929
const firestoreConnect = createFirestoreConnect('anotherStore')
@@ -53,7 +53,7 @@ attempting to use. **Note** Populate is not yet supported.
5353
_Basic_
5454

5555
```javascript
56-
// this.props.firebase set on App component as firebase object with helpers
56+
// props.firebase set on App component as firebase object with helpers
5757
import { firestoreConnect } from 'react-redux-firebase'
5858
export default firestoreConnect()(SomeComponent)
5959
```
@@ -64,13 +64,11 @@ _Basic_
6464
import { connect } from 'react-redux'
6565
import { firestoreConnect } from 'react-redux-firebase'
6666

67-
// pass todos list from redux as this.props.todosList
67+
// pass todos list from redux as props.todosList
6868
export default compose(
69-
firestoreConnect(['todos']), // sync todos collection from Firestore into redux
69+
firestoreConnect(() => ['todos']), // sync todos collection from Firestore into redux
7070
connect((state) => ({
71-
todosList: state.firestore.data.todos,
72-
profile: state.firestore.profile, // pass profile data as this.props.profile
73-
auth: state.firestore.auth // pass auth data as this.props.auth
71+
todosList: state.firestore.data.todos
7472
})
7573
)(SomeComponent)
7674
```

docs/api/withFirebase.md

+24-16
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ needing to access a firebase instance created under a different store key.
2323
_Basic_
2424

2525
```javascript
26-
// this.props.firebase set on App component as firebase object with helpers
26+
// props.firebase set on App component as firebase object with helpers
2727
import { createWithFirebase } from 'react-redux-firebase'
2828

2929
// create withFirebase that uses another redux store
@@ -55,12 +55,15 @@ _Basic_
5555
```javascript
5656
import { withFirebase } from 'react-redux-firebase'
5757

58-
const AddData = ({ firebase: { push } }) =>
59-
<div>
60-
<button onClick={() => push('todos', { done: false, text: 'Sample' })}>
61-
Add Sample Todo
62-
</button>
63-
</div>
58+
function AddData({ firebase: { push } }) {
59+
return (
60+
<div>
61+
<button onClick={() => push('todos', { done: false, text: 'Sample' })}>
62+
Add Sample Todo
63+
</button>
64+
</div>
65+
)
66+
}
6467

6568
export default withFirebase(AddData)
6669
```
@@ -72,15 +75,18 @@ import { compose } from 'redux' // can also come from recompose
7275
import { withHandlers } from 'recompose'
7376
import { withFirebase } from 'react-redux-firebase'
7477

75-
const AddTodo = ({ addTodo }) =>
76-
<div>
77-
<button onClick={addTodo}>
78-
Add Sample Todo
79-
</button>
80-
</div>
81-
82-
export default compose(
83-
withFirebase(AddTodo),
78+
function AddTodo({ addTodo }) {
79+
return (
80+
<div>
81+
<button onClick={addTodo}>
82+
Add Sample Todo
83+
</button>
84+
</div>
85+
)
86+
}
87+
88+
const enhance = compose(
89+
withFirebase,
8490
withHandlers({
8591
addTodo: props => () =>
8692
props.firestore.add(
@@ -89,6 +95,8 @@ export default compose(
8995
)
9096
})
9197
)
98+
99+
export default enhance(AddTodo)
92100
```
93101

94102
Returns **[Function](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function)** Which accepts a component to wrap and returns the

docs/api/withFirestore.md

+30-21
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ needing to access a firebase instance created under a different store key.
1616
**Parameters**
1717

1818
- `storeKey` **[String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** Name of redux store which contains
19-
Firebase state (`state.firebase`) (optional, default `'store'`)
19+
Firestore state (`state.firestore`) (optional, default `'store'`)
2020

2121
**Examples**
2222

@@ -50,42 +50,51 @@ from `store.firestore`, which is attached to store by the store enhancer
5050
_Basic_
5151

5252
```javascript
53+
import React from 'react'
5354
import { withFirestore } from 'react-redux-firebase'
5455

55-
const AddTodo = ({ firestore: { add } }) =>
56-
<div>
57-
<button onClick={() => add('todos', { done: false, text: 'Sample' })}>
58-
Add Sample Todo
59-
</button>
60-
</div>
56+
function AddData({ firebase: { add } }) {
57+
return (
58+
<div>
59+
<button onClick={() => add('todos', { done: false, text: 'Sample' })}>
60+
Add Sample Todo
61+
</button>
62+
</div>
63+
)
64+
}
6165

6266
export default withFirestore(AddTodo)
6367
```
6468

6569
_Within HOC Composition_
6670

6771
```javascript
72+
import React from 'react'
6873
import { compose } from 'redux' // can also come from recompose
6974
import { withHandlers } from 'recompose'
7075
import { withFirestore } from 'react-redux-firebase'
7176

72-
const AddTodo = ({ addTodo }) =>
73-
<div>
74-
<button onClick={addTodo}>
75-
Add Sample Todo
76-
</button>
77-
</div>
78-
79-
export default compose(
80-
withFirestore(AddTodo),
77+
function AddTodo({ addTodo }) {
78+
return (
79+
<div>
80+
<button onClick={addTodo}>
81+
Add Sample Todo
82+
</button>
83+
</div>
84+
)
85+
}
86+
87+
const enhance = compose(
88+
withFirestore,
8189
withHandlers({
82-
addTodo: props => () =>
83-
props.firestore.add(
84-
{ collection: 'todos' },
85-
{ done: false, text: 'Sample' }
86-
)
90+
addTodo: props => () => {
91+
const newTodo = { done: false, text: 'Sample' }
92+
return props.firestore.add({ collection: 'todos' }, newTodo)
93+
}
8794
})
8895
)
96+
97+
export default enhance(AddTodo)
8998
```
9099

91100
Returns **[Function](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function)** Which accepts a component to wrap and returns the

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "react-redux-firebase",
3-
"version": "2.2.5",
3+
"version": "2.2.6",
44
"description": "Redux integration for Firebase. Comes with a Higher Order Components for use with React.",
55
"main": "lib/index.js",
66
"module": "es/index.js",

src/actions/storage.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ export const uploadFile = (dispatch, firebase, config) => {
6464

6565
return uploadPromise()
6666
.then(uploadTaskSnapshot => {
67-
if (!dbPath || !firebase.database) {
67+
if (!dbPath || (!firebase.database && !firebase.firestore)) {
6868
dispatch({
6969
type: FILE_UPLOAD_COMPLETE,
7070
meta: { ...config, filename },

0 commit comments

Comments
 (0)