Firestore - 缓慢乐观的更新?

时间:2018-06-18 20:17:00

标签: firebase react-native google-cloud-firestore react-native-firebase

乐观更新似乎在Firestore中没有那么快的预期效果。在我写入Firestore的时间和触发快照侦听器的时间之间,我看到的更新时间至少为200毫秒。我正在使用react本机firebase库,但我认为问题不太可能来自那里。该库只是本机SDK的一个薄包装层。我已经启用了离线持久性以确保其价值,但无论是否有互联网连接,行为都是相同的。

以下代码段说明了此问题:

class App extends React.Component{
  componentDidMount(){
    db.collection("cities").onSnapshot(function(qsnap) {
          this.setState({cities: qsnap.docs.map(s => s.data())})
      });
  }

  addCity(){
    db.collection("cities").add({
      name: Math.random(),
      country: "Japan"
    })
  }

 render(){

  //After clicking add city, the new render doesn't happen until
  //after a minimum time of 200 ms :(

  <View>
    <TouchableOpacity onPress={this.addCity}>Add city</TouchableOpacity>
    {this.state.cities.map(c => <Text>{c.name}</Text>)}
  </View>
  }
}

我做错了什么或者能做些什么不同?我喜欢从数据存储订阅快照并直接从中呈现UI,然后直接写入数据存储区并通过乐观传播立即更新UI的模式。

0 个答案:

没有答案