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>
);
}