So, when the URL is first pasted into the browser, your app’s ENTRY POINT is always loaded first.
Please note that I said “ENTRY POINT” instead of “HOME PAGE”. The best thing you can do is to make your entry point as lean and quick to make a routing decision as possible. The “home page” (more like a splash screen / loading screen / whatever you call it) will still be inevitable, but the transition from a loading screen (when done properly) into a content screen won’t be as abrupt / unexpected / annoying as transition from a home screen (which is a content screen) to another content screen.
To REALLY avoid the “splash” screen, you will have to implement server-side rendering.