Come si può copiare / incollare un percorso e ottenere la pagina ‘giusta’ usando React-router?

Il routing è implementato sul client e assomiglia a qualcosa:

         

Il router lato server assomiglia a qualcosa:

 app.get('/', checkAuthStatus, redirect.index); app.get('*', redirect.UndefinedRoutes); 

Il problema è che quando si copia una rotta (ad esempio / utente / 32) e la si incolla in una scheda diversa del browser o si aggiorna la pagina / utente / 32, il client invia una richiesta al server che a sua volta la interpreta come richiesta a ‘ * ‘e reindirizza ovunque Reindirizza UndefinedRoutes (di solito alla pagina principale). Quindi, la domanda è, come redirect a ‘giusta rotta’, che è in un caso determinato / utente / 32?

Dato che non stai eseguendo alcun rendering serveride, non hai bisogno di routing sul server. Hai solo bisogno di configurare un fallback, ad esempio in questo modo:

 import fallback from 'express-history-api-fallback'; import express from 'express'; import http from 'http'; // Set up express const app = express(); const server = http.createServer(app); const root = `${__dirname}`; // History Fallback for express app.use(express.static(root)); app.use(fallback('index.html', { root })); // Listen server.listen(8080, '0.0.0.0');