我是新来的React JS。我正在尝试开发一个简单的网页,可以从云存储中渲染数据。我正在使用react-redux-firebase来获取数据。它工作得很好。现在,我希望从云函数中获取数据。我已经成功地部署了云函数。我甚至可以使用axios从云函数中获取数据。但我想使用react-redux-firebase。我搜索了很多,但没有找到一个例子。请帮帮我。
const firebase = getFirebase();
var animals = firebase
.functions()
.httpsCallable("getAllAnimals");
animals()
.then(result => {
console.log("result ------------- ", result)
})
.catch(error => console.log('errorrrrrrrr ' + error)
);使用这个,我得到了下面的错误。
errorrrrrrrr Error: Response is missing data field.发布于 2020-06-09 15:20:13
我认为这里混淆了两个不同的东西,库react-reduc-firebase和集中化状态。
正如您在评论中所说的,您可以使用Axios等请求库来查询HTTP Cloud function,尽管我知道您还希望通过react-redux-firebase来查询Cloud Function。但是,该库不用于查询任意HTTP端点,如此函数或任何其他HTTP可访问的API。相反,该库旨在成为一个舒适的、开箱即用的界面,以便与具有自己的JS客户端库和API的产品无缝交互,否则需要您自己编写所有胶水代码。在Github的feature list中找不到云函数的原因可能是因为访问它们不需要特殊处理,因此没有提供接口层。
另外,我知道您希望以Redux (Flux)应用程序架构的精神来集中数据。事实上,您同时使用Axios和Firestore并不违反集中式状态管理的原则,只要数据的更改和管理与Redux core principles保持一致,集中式状态管理就不知道如何获取数据。当每个数据库都有其特定的怪癖时,并不是所有的信息都可以通过一个过程访问,这是有道理的。
发布于 2021-07-08 04:45:14
如果其他人正在尝试通过react-redux-firebase使用云函数,则可以在可能的情况下进行配置。
在主应用程序的index.js文件中,请确保还导入了firebase/functions。
// src/index.js
import firebase from 'firebase/app';
import 'firebase/functions';这将允许您将firebase.functions()与useFirebase()挂钩结合使用。
https://stackoverflow.com/questions/62187421
复制相似问题