【问题标题】:react-native-firebase vs react-redux-firebase?react-native-firebase vs react-redux-firebase?
【发布时间】:2018-05-16 00:21:55
【问题描述】:

背景:我已经开始使用 react-native-firebase 和 react-native 来与 Cloud Firestore 集成。我将开始将 redux 引入我的测试应用程序。

问题 - react-native-firebase 是否可以继续作为我在这里选择的库? (相对于迁移到 react-redux-firebase)

有没有一种简单的方法来总结这两个库之间的差异,当你想要一个与另一个时?我注意到 react-native-firebase 的安装对于 IOS 和 Android 来说是相当复杂的,所以我不确定 react-redux-firebase 是否让这更容易,但如果确实如此,你会失去任何东西吗?

【问题讨论】:

    标签: react-native-firebase react-redux-firebase


    【解决方案1】:

    主要区别:

    • react-redux-firebase - 用于将 Firebase 与 Redux 结合使用
    • react-native-firebase - 使用带有 react-native 的 Firebase JS API

    react-redux-firebase 实际上是supports using react-native-firebasereact-native-firebase 在底层使用原生模块时提供 Firebase JS API,这意味着您可以将其作为 Firebase 实例提供给 react-redux-firebase,如下所示:

    import { compose, createStore } from 'redux';
    import RNFirebase from 'react-native-firebase';
    import { getFirebase, reactReduxFirebase } from 'react-redux-firebase';
    import thunk from 'redux-thunk';
    import makeRootReducer from './reducers';
    
    const reactNativeFirebaseConfig = {
      debug: true
    };
    
    const reduxFirebaseConfig = {
      userProfile: 'users', // save users profiles to 'users' collection
    };
    
    export default (initialState = { firebase: {} }) => {
      // initialize firebase
      const firebase = RNFirebase.initializeApp(reactNativeFirebaseConfig);
    
      const store = createStore(
        makeRootReducer(),
        initialState,
        compose(
          reactReduxFirebase(firebase, reduxFirebaseConfig), // pass initialized react-native-firebase app instance
         // applyMiddleware can be placed here
        )
      );
    
      return store;
    };
    

    react-native recipes section of the docs 中介绍了此设置以及更多内容。

    免责声明:我是react-redux-firebase的作者之一

    【讨论】:

    • 感谢您的回复并解决了一些问题。除此之外,我不认为您会知道这两个库中的任何一个是否会以不同的方式处理 firebase 异常。我刚刚提出了我在这里遇到的一个问题:github.com/invertase/react-native-firebase/issues/727
    • 看起来错误是由于规则不允许您正在执行的操作。你确认你的规则允许你做你正在做的事吗?包括子集?另外,你可能已经看过了,但是react-redux-firebase 支持使用 Firestore。
    【解决方案2】:

    react-redux-firebase 是 firebase 的辅助库。 我建议同时使用 react-native-firebase 和 react-redux-firebase。

    react-native-firebase 易于编写、易于阅读、易于理解。 小型应用程序不需要 react-redux-firebase。

    react-native-firebase 很棒。

    如果你熟悉firebase,你可以在10分钟内使用react-native-firebase。

    例如

    import Firebase from "react-native-firebase"
    
    ....
    
    <Button title="button" onPress={Firebase.analytics().logEvent("pressed")} />
    

    【讨论】:

      猜你喜欢
      • 2018-05-30
      • 1970-01-01
      • 2018-11-07
      • 1970-01-01
      • 1970-01-01
      • 2018-06-29
      • 2020-01-05
      • 2020-02-08
      • 2015-08-13
      相关资源
      最近更新 更多