You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* fix(populate): missing childKey causes no population - #277 (thanks @JeremyPlease)
* feat(firestore): `firestoreConnect` - React HOC that sets listeners to Cloud Firestore (similar to `firebaseConnect`, but for Cloud Firestore instead of Real Time Database) - #286
* feat(firestore): `firestoreReducer` is exported from [`redux-firestore`](https://github.com/prescottprue/redux-firestore) included to handle managing `firestore` state - #286
* feat(core): `withFirebase` - React HOC for just passing `props.firebase` (`firebaseConnect` without any listener management)
* feat(docs): Firestore page added to docs (outlining usage of `firestoreConnect` and `setListener`)
* feat(examples): Firestore complete example added
* feat(docs): README and Query examples simplified + improved
* feat(docs): FAQ moved to its own docs page
**NOTE**: After the Firestore API (including `firestoreConnect`) is stabilized, the `v2.0.0` pre-releases should be ready for release candidate status (pending other major bugs).
[![Backers on Open Collective][backers]](#backers)
12
11
13
12
[![Gitter][gitter-image]][gitter-url]
14
13
@@ -20,14 +19,13 @@
20
19
The [Material Example](https://github.com/prescottprue/react-redux-firebase/tree/master/examples/complete/material) is deployed to [demo.react-redux-firebase.com](https://demo.react-redux-firebase.com).
21
20
22
21
## Features
23
-
- Integrated into redux
24
22
- Support for updating and nested props
25
23
-[Population capability](http://react-redux-firebase.com/docs/populate) (similar to mongoose's `populate` or SQL's `JOIN`)
26
24
- Out of the box support for authentication (with auto load user profile)
27
-
- Firebase Storage Support
25
+
- Firebase Database, Firestore, Auth, Storage, and Messaging Support
28
26
- Support small data ( using `value` ) or large datasets ( using `child_added`, `child_removed`, `child_changed` )
29
-
- queries support ( `orderByChild`, `orderByKey`, `orderByValue`, `orderByPriority`, `limitToLast`, `limitToFirst`, `startAt`, `endAt`, `equalTo` right now )
- Automatic binding/unbinding through `firestoreConnect` (manual through `watchEvent`)
31
29
- Declarative decorator syntax for React components
32
30
- Tons of integrations including [`redux-thunk`](https://github.com/gaearon/redux-thunk) and [`redux-observable`](https://redux-observable.js.org/)
33
31
- Action Types and other Constants exported for external use (such as in `redux-observable`)
@@ -41,39 +39,38 @@ The [Material Example](https://github.com/prescottprue/react-redux-firebase/tree
41
39
npm install --save react-redux-firebase
42
40
```
43
41
44
-
#### Other Versions
45
-
46
-
The above install command will install the `@latest` tag. You may also use the following tags when installing to get different versions:
47
-
48
-
*`@next` - Most possible up to date code. Currently, points to active progress with `v2.0.0-*` pre-releases. *Warning:* Syntax is different than current stable version.
49
-
50
-
Be aware of changes when using a version that is not tagged `@latest`. Please report any issues you encounter, and try to keep an eye on the [releases page](https://github.com/prescottprue/react-redux-firebase/releases) for updates.
51
-
52
42
## Use
53
43
54
-
**Note:** If you are just starting a new project, you may want to use [`v2.0.0`](http://docs.react-redux-firebase.com/history/v2.0.0/#use) since it has an even easier syntax. For clarity on the transition, view the [`v1` -> `v2` migration guide](http://docs.react-redux-firebase.com/history/v2.0.0/docs/v2-migration-guide.html)
55
-
56
44
Include `reactReduxFirebase` in your store compose function and `firebaseStateReducer` in your reducers:
todos // Connect props.todos to state.firebase.data.todos
168
-
})
169
-
)
170
-
exportdefaultclassTodosextendsComponent {
171
-
// component code
172
-
}
173
-
```
174
-
175
-
### Decorators
176
-
177
-
Though they are optional, it is highly recommended that you use decorators with this library. [The Simple Example](examples/simple) shows implementation without decorators, while [the Decorators Example](examples/decorators) shows the same application with decorators implemented.
178
-
179
-
A side by side comparison using [react-redux](https://github.com/reactjs/react-redux)'s `connect` function/HOC is the best way to illustrate the difference:
To enable this functionality, you will most likely need to install a plugin (depending on your build setup). For Webpack and Babel, you will need to make sure you have installed and enabled [babel-plugin-transform-decorators-legacy](https://github.com/loganfsmyth/babel-plugin-transform-decorators-legacy) by doing the following:
199
-
200
-
1. run `npm i --save-dev babel-plugin-transform-decorators-legacy`
201
-
2. Add the following line to your `.babelrc`:
202
-
```json
203
-
{
204
-
"plugins": ["transform-decorators-legacy"]
205
-
}
206
-
```
207
205
208
206
## [Docs](http://react-redux-firebase.com)
209
207
See full documentation at [react-redux-firebase.com](http://react-redux-firebase.com)
@@ -242,14 +240,15 @@ Join us on the [redux-firebase gitter](https://gitter.im/redux-firebase/Lobby).
@@ -261,47 +260,9 @@ View docs for recipes on integrations with:
261
260
262
261
The [examples folder](/examples) contains full applications that can be copied/adapted and used as a new project.
263
262
264
-
## FAQ
265
-
266
-
1. How is this different than [`redux-react-firebase`](https://github.com/tiberiuc/redux-react-firebase)?
267
-
268
-
This library was actually originally forked from redux-react-firebase, but adds extended functionality such as:
269
-
*[populate functionality](http://react-redux-firebase.com/docs/populate) (similar to mongoose's `populate` or SQL's `JOIN`)
270
-
*`react-native` support ([web/js](http://react-redux-firebase.com/docs/recipes/react-native.html) or native modules through [`react-native-firebase`](http://docs.react-redux-firebase.com/history/v2.0.0/docs/recipes/react-native.html#native-modules))
271
-
* tons of [integrations](#integrations)
272
-
*[`profileFactory`](http://react-redux-firebase.com/docs/config) - change format of profile stored on Firebase
273
-
*[`getFirebase`](http://react-redux-firebase.com/docs/thunks) - access to firebase instance that fires actions when methods are called
274
-
*[access to firebase's `storage`](http://react-redux-firebase.com/docs/storage) and `messaging` services
275
-
*`uniqueSet` method helper for only setting if location doesn't already exist
276
-
* Object or String notation for paths (`[{ path: '/todos' }]` equivalent to `['/todos']`)
277
-
* Action Types and other Constants are exposed for external usage (such as with `redux-observable`)
278
-
* Server Side Rendering Support
279
-
*[Complete Firebase Auth Integration](http://react-redux-firebase.com/docs/auth.html#examples) including `signInWithRedirect` compatibility for OAuth Providers
280
-
281
-
#### Well why not combine?
282
-
I have been talking to the author of [redux-react-firebase](https://github.com/tiberiuc/redux-react-firebase) about combining, but we are not sure that the users of both want that at this point. Join us on the [redux-firebase gitter](https://gitter.im/redux-firebase/Lobby) if you haven't already since a ton of this type of discussion goes on there.
283
-
284
-
#### What about [redux-firebase](https://github.com/colbyr/redux-firebase)?
285
-
The author of [redux-firebase](https://github.com/colbyr/redux-firebase) has agreed to share the npm namespace! Currently the plan is to take the framework agnostic redux core logic of `react-redux-firebase` and [place it into `redux-firebase`](https://github.com/prescottprue/redux-firebase)). Eventually `react-redux-firebase` and potentially other framework libraries can depend on that core (the new `redux-firebase`).
286
-
287
-
2. Why use redux if I have Firebase to store state?
288
-
289
-
This isn't a super quick answer, so I wrote up [a medium article to explain](https://medium.com/@prescottprue/firebase-with-redux-82d04f8675b9)
290
-
291
-
3. Where can I find some examples?
292
-
293
-
*[Recipes Section](http://react-redux-firebase.com/docs/recipes/) of [the docs](http://react-redux-firebase.com/docs/recipes/)
294
-
*[examples folder](/examples) contains [complete example apps](/examples/complete) as well as [useful snippets](/examples/snippets)
295
-
296
-
4. How does `connect` relate to `firebaseConnect`?
297
-
298
-

299
-
300
-
5. How do I help?
263
+
### FAQ
301
264
302
-
* Join the conversion on [gitter][gitter-url]
303
-
* Post Issues
304
-
* Create Pull Requests
265
+
Please visit the [FAQ section of the docs](http://docs.react-redux-firebase.com/history/v2.0.0/docs/FAQ.html)
0 commit comments