关于将您的反应应用状态的一个属性与firebase同步,重新基础文档非常明确:https://github.com/tylermcginnis/re-base#syncstateendpoint-options
它表示在组件的componentDidMount方法中使用syncState,如下所示:
componentDidMount(){
base.syncState(`shoppingList`, {
context: this,
state: 'items',
asArray: true
});
}
我想同步两个不同的属性,所以'shoppingList;和'weeklyBudget'。我试图复制这样的声明:
componentDidMount(){
base.syncState(`shoppingList`, {
context: this,
state: 'items'
});
base.syncState(`weeklyBudget`, {
context: this,
state: 'budget'
});
}
但是控制台只会抛出以下错误:
未捕获错误:对象无效作为React子对象(找到:具有键{}的对象)。如果您要渲染子集合,请使用数组,或使用React附加组件中的createFragment(object)包装对象。检查
Order
的呈现方法。
如何使用re-base在React app和Firebase数据库之间同步状态的多个属性?
答案 0 :(得分:1)
如果您在asArray: true
之后立即将context: this,
添加到对象,那么您应该没问题。
它对我来说就像这样。我自己对此代码不满意,因为我有七个连接到不同端点的块。另一种方法是使用fetch并通过Promise.all([x, y, z]).then()