Hasta donde sé, la única forma de hacerlo es crear un nuevo proyecto nativo de reacción y copiar sobre su src / carpeta (o lo que sea que contenga su código js personalizado) y luego cambiar las partes necesarias para que funcione con RN. La buena noticia es que debe haber una gran cantidad de código compartido entre la aplicación web y la aplicación móvil, la regla general es:
- La mayoría / toda la lógica de negocios en sus componentes se puede compartir, las excepciones incluyen cualquier referencia al DOM o al objeto de ventana.
- Si está utilizando redux, entonces todo el código redux (acciones, reductores, middlewares, etc.) debe ser 100% reutilizable.
- El enrutamiento probablemente necesitará muchos ajustes o se volverá a hacer por completo, depende de lo que decida usar, el enrutador de reacción tiene un enrutador RN, pero no lo he probado personalmente. La buena noticia es que hay un nuevo enrutador que está destinado a ser el nuevo enrutador que los creadores afirman que funciona tanto en la web como en el nativo, por lo que parece prometedor: react-community / react-navigation
- Es poco probable que los estilos sean reutilizables, la transición será un poco más suave si está utilizando el enfoque “CSS en JS”, pero incluso entonces es posible que deba cambiar el nombre de algunas propiedades o cambiarlas completamente porque funcionan de manera diferente en RN.
- Todo el HTML no es reutilizable, supongo que podría acelerar un poco las cosas reemplazando todas las etiquetas div / span con las etiquetas Ver / Texto, pero aún así, necesitará muchos ajustes
El ajuste de los estilos y el html probablemente te llevará más tiempo, pero en general no tendrás que preocuparte por la lógica de tu aplicación.
Sin embargo, para referencia futura, Microsoft lanzó una nueva biblioteca React para crear aplicaciones multiplataforma (web y móvil). No lo he probado personalmente, pero vale la pena echarle un vistazo:
- Cómo 'agregar' mi segundo número de teléfono a mi cuenta de WhatsApp
- ¿Qué aplicación debería usarse para asuntos actuales en los exámenes bancarios?
- ¿Por qué Hipster (hipster.com) tuvo un pivote masivo?
- ¿Puede WhatsApp eliminar y permitirme salir de todos mis grupos?
- ¿Cuáles son los análisis más valiosos para que una aplicación capture?
Una biblioteca para crear aplicaciones multiplataforma – ReactXP