我正在为ReactNative编写Android本机模块。我公开了一些使用ReactMethod
批注的方法。是否有可能公开财产,例如:
class MyNativeModule(reactAppContext: ReactApplicationContext) : ReactContextBaseJavaModule(reactAppContext) {
override fun getName(): String = "MyNativeModule"
@ReactMethod
fun nativeModule() {
Log.d("MyNativeModule", "Native module method")
}
val nativeModuleProperty = "I am a native property" <-- I want to expose this property
}
并在ReactNative中使用它:
export const { nativeModule, nativeModuleProperty } = NativeModules.MyNativeModule
nativeModule() <-- this will print "Native module method"
console.log(nativeModuleProperty) <-- I want this to print "I am a native property"
我该如何实现?在Android上可以吗?
答案 0 :(得分:0)
在 Kotlin 中,val
属性在技术上是一种吸气方法。因此,只需注释getter而不是属性即可。
@get:[ReactMethod JvmName("nativeModuleProperty")]
val nativeModuleProperty = "I am a native property"