¡Estoy usando create-react-app en mi último proyecto y es genial! Ahora me enfrento a un problema que no estoy seguro de cómo resolver correctamente.
Creé una aplicación usando redux para la gestión de mi estado, y todo funciona bien.
Ahora no tengo mucha experiencia con la renderización del lado del servidor en React, pero para mi próxima función tendré que tomar uno de los componentes de reacción existentes/en funcionamiento (que están conectados a la tienda redux) y renderizarlo en el servidor que viene con crear-reaccionar-aplicación. La razón por la que quiero hacer esto es poder usar algunas bibliotecas como generadores de pdf y similares para poder imprimir algunas de ellas (también algunas otras cosas, pero eso es lo básico).
Lo primero con lo que estoy confundido, ya que no quiero renderizar todo en el servidor, ¿cuál es la forma mejor/correcta (para el desarrollo) de ejecutar el servidor webpack-dev y el servidor de nodo que hará todas las tareas que mencioné anteriormente en paralelo? en lugar de simplemente cambiar su puerto predeterminado a digamos 8000, y ejecutarlo manualmente?
En segundo lugar, ¿debería poder usar ReactDOMServer.renderToString en ese componente existente en el servidor o hay algo más que complicará las cosas (sé que tendré que agregar babel en el servidor definitivamente)?
Create React App no es compatible con la representación del servidor. Es posible que desee migrar a Next.js, que lo hace.
Desafortunadamente, Create React App (CRA) no tiene puntos de extensibilidad para permitir esto. Pero hay una versión ligeramente alterada de CRA que permite compilar, probar y ejecutar tanto el código del lado del cliente como del lado del servidor usando la canalización CRA regular: npm start compilará y lanzará las partes de su aplicación tanto del lado del cliente como del lado del servidor, usando una sola instancia de Webpack, en el mismo puerto HTTP.
Puede encontrar más información visitando React App SDK .