Estoy trabajando en un proyecto en el que usamos javascript vainilla, Html y css para el frontend mientras diseñamos el backend en FastAPI. La forma en que el backend se conecta con el frontend es usando Plantillas, agregando el nombre del archivo para una página en particular y también enviando los datos como plantilla jinja al lado del cliente. Tenemos cinco páginas y todas están declaradas en el backend como solicitudes de obtención y estamos usando un archivo html específico para cargar una página en particular. Entonces, hay principalmente cinco archivos html para cinco páginas Ahora, estaba decidiendo cambiar a reactjs como interfaz, sin embargo, reaccionar es la aplicación de una sola página y también solo tiene las Rutas para varias páginas, me pregunto cómo me conecto al backend y también enviar datos al cliente, como lo hacía antes. Traté de buscar respuestas, no pude encontrar ninguna a partir de ahora... Y también soy un poco nuevo en Reactjs
React, Python y FastAPI son excelentes tecnologías que yo también uso. Pero funcionan de manera más efectiva cuando se usan para los fines previstos. Un martillo es una gran herramienta si necesita clavar algunos clavos, pero es una pésima herramienta para otros propósitos, como tratar de usarlo como un utensilio para comer. Por lo tanto, le recomendamos que, si va a utilizar React y FastAPI, los utilice como se pretendía.
Las plantillas de Jinja se utilizan para la representación del lado del servidor. Pero React es (en esencia) también un sistema de renderizado del lado del servidor. Ambos no jugarán bien juntos, al menos no sin más trabajo y complejidad.
En su lugar, sería mejor que se comprometiera con la plantilla de Jinja o React. Si eliges Jinja, averiguas cómo será la página (renderizar) antes de enviarla al cliente. Si elige Reaccionar, escribe la aplicación visible para el usuario, la envía al cliente y luego la aplicación en el navegador del cliente obtiene datos a través de API (generalmente JSON) desde el back-end de FastAPI.