Handling Poor network connectivity

I’m relatively new to react native. I’m looking at a use case for an app where a user will read and write data that is “in the cloud”. In the event of poor network connectivity, the data changes need effect state on the local device, until such time that the app can then sync the changes to the data to the cloud.

Firebase database is an obvious choice here but it’s not great for querying and doing some basic analytics on.

I’ve seen some options like Realm but expo doesn’t support this.

What are more experienced devs doing?