Serie RN: Cómo interactúan y se comunican Android nativo y RN
Los saltos de página y las llamadas a métodos de React Native en proyectos híbridos de Android se pueden describir aproximadamente en el esquema anterior:
El principio de comunicación de RN es simplemente que el nativo de una parte (java) registra algunos métodos en una tabla de mapeo, y la otra parte (js) luego busca y llama a los métodos correspondientes en esta tabla de mapeo, y Bridge actúa como un puente entre los dos.
De hecho, hay dos tipos de llamadas a métodos:
La llamada de RN a Android requiere el mismo nombre de módulo y nombre de método, mientras que la llamada de Android a RN solo requiere el mismo nombre de método.
(1) Método de evento RCTDeviceEventEmitter
Ventajas: se puede entregar en cualquier momento, controlado localmente.
(2) Devolución de llamada
Ventajas: llamada JS, devolución local: llamada JS, devolución local.
Desventajas: la devolución de llamada es una operación asincrónica y el tiempo de devolución es incierto.
(3) Promesa
Ventajas: llamada JS, devolución local: JS. Llamada, devolución local.
? Desventaja: JS se llama una vez cada vez
(4) Pasar directamente datos constantes (RN nativo)
¿Pasar valores entre dominios, únicamente? De local a RN, RN puede pasar NativeModules.[nombre del módulo].[nombre del parámetro].
Nota: Cuando la capa RN llama a la capa NativeModule para saltar a la interfaz, se debe configurar el indicador FLAG_ACTIVITY_NEW_TASK.
Por ejemplo, tome las llamadas nativas RN y las llamadas RN nativas como ejemplo, breve descripción:
Necesita agregar dos bibliotecas de carga de imágenes de Facebook: (Tenga en cuenta que el número de versión debe ser coherente con el RN que está utilizando (la versión debe ser coherente y la versión fresca utilizada internamente siempre debe ser coherente)