2016-07-30 1 views
3

Ich erstelle ein natives Modul für Android reagieren nativ, in Java geschrieben. Wie können Sie eine Komponente an das native Modul übergeben, wie zum Beispiel habe ich einen benutzerdefinierten Dialog mit MaterialStyledDialogs (link) und ich möchte eine custom view dafür setzen, und diese Ansicht ist eine Reaktion native Komponente. Ist das möglich?Wie übergebe ich eine native Komponente auf ein natives Modul für Android

Ich kann eine Zeichenfolge ohne ein Problem übergeben, aber nicht mit einer Komponente. Zum Beispiel

Ich habe eine Komponente <CustomListForDialog/> genannt und dann bin ich werde dies über dergleichen auf die native Modul übergeben, so

... 
import { NativeModules } from 'react-native'; 
... 
// the custom function inside the class 
showCustomDIalog() { 
    NativeModules.MyNativeDialog.show('Header Title', <CustomListForDialog/>); 
} 
... 

Wie die Komponente aus dem nativen Modul erhalten? Danke im Voraus.

Antwort

2

Sie können keine Komponenten in react-native senden oder empfangen. React Native Native Module können nur die folgenden Datentypen als Argumente erhalten.

Boolean -> Bool 
Integer -> Number 
Double -> Number 
Float -> Number 
String -> String 
ReadableMap -> Object 
ReadableArray -> Array 

Lesen Sie mehr über ReadableMap und ReadableArray

+0

alle Arbeiten rund um dann mein Ziel zu erreichen? Vielleicht gibt es einen anderen Ansatz dafür. Genau wie das Modal, das eine View-Komponente enthält. –

+0

Senden Sie die Daten einfach an den systemeigenen Code, verarbeiten Sie sie dort. Erhalten Sie die verarbeiteten Daten zurück. Dann erzeuge die Komponente. Das ist der einzige Weg. – Sriraman

+0

@KennethPalaganas versuchen, die Implementierung der Methode measureLayout zu betrachten, es ist ein natives Modul, das native Komponente verwendet, um Ergebnisse zu berechnen und Callbacks zu senden. –

Verwandte Themen