How can I achieve only the area my route / page is in to reload, and for all other components around it to stay the exact same? Currently it is reloading the entire page? I don't think this is what a SPA does.
I need player to stay running and not interrupt audio due to a page reload
render() {
        return (
            <div className="flex h-screen flex-col justify-between">
                <main className="flex flex-1 bg-gray-100">
                    <div className="sidebar-1 w-64 bg-gray-50">
                        <Sidebar />
                    </div>
                    <div className="content flex-1 p-8">
                        <BrowserRouter>
                            <Routes>
                                <Route element={<ProtectedRoute />}>
                                    <Route path="/" element={<Home queueItems={this.state.queueItems} />} exact/>} />
                                    <Route path="/search" element={<Search />}/>} />
                                </Route>
                                <Route element={<Login />} path="/login" />
                            </Routes>
                        </BrowserRouter>
                    </div>
                </main>
                {this.state.queueItems.length > 0 && <footer className="fixed bottom-0 w-full bg-zinc-300 p-4 text-black">
                    <Player rerenderParentCallback={this.rerenderParentCallback} queueItems={this.state.queueItems} />
            </footer>}
            </div>
            );
    }
 
    