Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 我应该为每个http请求使用firebase云函数吗?_Reactjs_Firebase_React Native_Firebase Realtime Database - Fatal编程技术网

Reactjs 我应该为每个http请求使用firebase云函数吗?

Reactjs 我应该为每个http请求使用firebase云函数吗?,reactjs,firebase,react-native,firebase-realtime-database,Reactjs,Firebase,React Native,Firebase Realtime Database,编写React本机应用程序,允许用户注册、登录、更新帐户信息、发布(每篇文章包含1500个字符或更少的短消息和/或最多9张图片)和下载文章。我可以在不使用云功能的情况下完成所有这些任务,但我想知道哪种方法更好,为什么 例如,要设置用户的帐户信息,我可以在我的应用程序中执行以下操作: firebase.database().ref(`users/${uid}`) .set({ firstNa

编写React本机应用程序,允许用户注册、登录、更新帐户信息、发布(每篇文章包含1500个字符或更少的短消息和/或最多9张图片)和下载文章。我可以在不使用云功能的情况下完成所有这些任务,但我想知道哪种方法更好,为什么

例如,要设置用户的帐户信息,我可以在我的应用程序中执行以下操作:

    firebase.database().ref(`users/${uid}`)
                       .set({
                           firstName: 'Stack',
                           lastName: 'Overflow'
                       });
或者我可以简单地编写一个firebase云函数,每当我想设置用户的帐户信息时,我可以这样做:

    const SET_ACCOUNT_URL = 'https://firebase.set_account_url.com';
    axios.post(SET_ACCOUNT_URL, {
        firstName: 'Stack',
        lastName: 'Overflow'
    })
    .then(() => ...Do Something Here...)
    .catch((error) => console.log(error));

哪种方法更好?为什么?

很大程度上取决于这里的规模。如果你仍在自由计划的限制范围内,那么天空就是限制。如果您在大规模工作,那么您将为RTDB的带宽以及函数调用支付费用,这可能是多余的

在不了解用例的情况下,很难预测什么是有用的

通常,您可以在以后添加函数,因为它们可以从DB写入触发。所以,如果写一篇文章就足够了,就这样做吧。稍后,您可以触发该写操作的事件,以采取任何需要的进一步操作

如果需要隐藏专有功能(即商标算法或安全游戏逻辑),请使用函数。如果您知道要对该数据进行计算,或者DB事件无法触发该数据,请使用函数


如果它只是在数据库中结束,而目标是验证或限制访问,请写入数据库并使用。

这在很大程度上取决于规模。如果你仍在自由计划的限制范围内,那么天空就是限制。如果您在大规模工作,那么您将为RTDB的带宽以及函数调用支付费用,这可能是多余的

在不了解用例的情况下,很难预测什么是有用的

通常,您可以在以后添加函数,因为它们可以从DB写入触发。所以,如果写一篇文章就足够了,就这样做吧。稍后,您可以触发该写操作的事件,以采取任何需要的进一步操作

如果需要隐藏专有功能(即商标算法或安全游戏逻辑),请使用函数。如果您知道要对该数据进行计算,或者DB事件无法触发该数据,请使用函数


如果它只是在数据库中结束,而目标是验证或限制访问,请写信给数据库并使用。

非常感谢,我确实这么认为,但只是想确定一下。这很有帮助!非常感谢,我确实这么认为,但我只是想确定一下。这很有帮助!