For the last 4 years I made a client side databases which solves this problem.
You subscribe to queries and directly update the dom whenever something changes that affects the queries result.
You can mix this with a client-server replication (couchdb or GraphQL) and voila, you have a website that always shows the correct data at each point in time. It even works offline, you have no loading spinners once the replication is in sync. Errors are handled in the background.
https://github.com/pubkey/rxdb