如何将React Native组件传递给Android原生模块

4
我正在为Android React Native创建一个本地模块,使用Java编写。如何将组件传递给本地模块,例如我使用MaterialStyledDialogs(link)制作了自定义对话框,并希望为其设置自定义视图,并且该视图是React Native组件。这可能吗?
我可以轻松传递字符串,但无法传递组件。例如,我有一个名为<CustomListForDialog/>的组件,然后通过以下方式通过原生模块进行传递
...
import { NativeModules } from 'react-native';
...
// the custom function inside the class
showCustomDIalog() {
  NativeModules.MyNativeDialog.show('Header Title', <CustomListForDialog/>);
}
...

如何从本地模块接收组件?提前致谢。
1个回答

2

react-native中,您无法发送或接收组件。React Native原生模块只能获取以下数据类型作为参数。

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

了解更多关于ReadableMapReadableArray的信息。


有没有实现我的目标的解决方案呢?也许有不同的方法。就像包含视图组件的模态框一样。 - Kenneth P.
只需将数据发送到本地代码,然后在那里处理。获取处理后的数据。然后生成组件。这是唯一的方法。 - Sriraman
@KennethPalaganas 请尝试查看measureLayout方法的实现,它是一个本地模块,使用本地组件计算结果并在回调中发送。 - M Abdul Sami

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接