Estoy acostumbrado a php para backend, pero tuve que usar firebase para este proyecto debido a la base de datos en tiempo real... Estoy tratando de paginar la carga de datos. Hasta ahora, puedo seleccionar los últimos 30 registros usando limitTolast(30) . Sin embargo, después de esto, necesito seleccionar 30 registros más antiguos después de los últimos 30 que seleccioné anteriormente para cuando el usuario se desplace hacia la parte superior... Por favor, ¿cómo logro esto?
Ya probé limtToLast(30).startAfter(30) . gracias.
ACTUALIZAR
Encontré una solución usando endBefore(lastkey).limitToLast(1) . Sin embargo, todavía no es la mejor. El problema con esto es que me gustaría limitToLast(10) , pero si hago eso, ejecuta la consulta 10 veces con el mismo valor que lastkey, lo que provoca la repetición en mi aplicación. Por favor, ¿cómo puedo solucionar esto? Lo que me gustaría es obtener los last 10 records before lastkey una vez o permitirme cambiar la lastkey cada vez que se ejecuta la consulta. Espero que esto tenga sentido
mi código se ve así
this.db.child('messages/'+chatid).endBefore(this.state.messages[this.state.messages.length - 1].key).limitToLast(10).once('child_added', snapshot => this.parse(snapshot))