0

Tengo un proyecto básico en Laravel 7, y también estoy usando React para la UI. y quiero que React sea la encargada de manejar las rutas con React-router-dom en lugar de hacer uso de las rutas del proyecto de Laravel.

Laravel tiene su propio sistema de rutas y react también, pero cuando cambio la url para ir a alguna ruta en partícular el sistema de rutas de Laravel se hace cargo y me envía a su pagina 404. Sé que no es un error de código, sino un conflicto que habitualmente se da entre el backend quien sirve los archivos de la web al navegador. ¿Cómo puedo modificar la configuración de mi proyecto Laravel para que me permita manejar las rutas con react-router-dom?

Ejemplo:

cuando entro a mi home:

img1

y cuando entro a otra vista en React:

img2

5
  • 1
    No se entiende... ¿Por qué laravel no te permitiría manejar las rutas con react? Commented el 14 mar. 2022 a las 20:34
  • Simple, porque el que reacciona a los cambios de ruta es el mismo Laravel. mientras tengo la ruta /about en React con su respectiva funcion, Laravel me manda a su vista del 404 Commented el 14 mar. 2022 a las 21:27
  • 1
    No es así, laravel es un framework php que se ejecuta en el servidor, no reacciona a nada, sólo recibe solicitudes y devuelve una respuesta. Si apuntas a una url que atiende laravel, te va a devolver una respuesta. Si apuntas a una url que maneja react, es react quien decide que hacer Commented el 14 mar. 2022 a las 21:36
  • No dije que laravel sigue algún paradigma reactivo, solo dije que REACCIONA... pero mejor trataré de ser más claro: Laravel tiene su sistema de rutas, React tiene su sistema de rutas, en un proyecto cuyo UI ESTÁ HECHO EN REACT cuando quiero ir a una URL para que me redireccione a una página DECLARADA EN REACT-ROUTER-DOM actúa el sistema de rutas de Laravel, y obviamente me manda a la vista 404 de LARAVEL Commented el 15 mar. 2022 a las 2:34
  • Lo que busco es evitar este comportamiento, tengo entendido que pasa lo mismo en otros servidores que mediante una ruta sirven los archivos al navegador y suele entrar en conflicto con el sistema de rutas de react... Lo que necesito es evitar ese comportamiento. Commented el 15 mar. 2022 a las 2:37

1 respuesta 1

0

También me sucedió lo mismo, investigando di con la solución, por si no lograste encontrarla o por si alguien más tiene el mismo problema, la solución es reconfigurar nuestras rutas web, de pronto no me explico muy bien pero deberíamos cargar la vista principal en caso de cualquier ruta. Ejemplo: Es el reemplazo a las rutas web - debe ser pegado en las rutas web - layouts.app es donde tenemos el root depende a como configuraste tu proyecto react

Route::view('/{path?}', 'layouts.app');

¿No es la respuesta que buscas? Examina otras preguntas con la etiqueta o formula tu propia pregunta.