使用ReBase在React App和Firebase数据库之间在状态上同步多个属性



当涉及将您的React App状态的一个属性与firebase同步的属性时,Re-Base文档很清楚:https://github.com/tylermcginnis/rere-base#SyncStateEndPoint-Options

它说在组件的componentdidmount方法中使用Syncstate这样的方法:

componentDidMount(){
  base.syncState(`shoppingList`, {
    context: this,
    state: 'items',
    asArray: true
  });
}

我想同步两个不同的属性,所以'shopplist;和"每周"。我试图复制这样的语句:

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数据库之间在状态上同步多个属性?

如果在context: this,之后立即将asArray: true添加到对象中。

它对我来说是这样的。我本人对此代码不满意,因为我有七个连接到不同端点的块。一种替代方案可能是通过Promise.all([x, y, z]).then()

使用获取和解决

最新更新