是否可以将块从Swift传递给React Native作为prop?我试图这样做:
let rnRoot = RCTRootView(
bundleURL: URL(string: "http://localhost:8081/index.ios.bundle?platform=ios"),
moduleName: "App",
initialProperties: ["callLog": { (arg: String) in
print(arg)
}],
launchOptions: nil
)!
在我看来,callLog已经通过,甚至RN也有了这个想法,它的功能,日志是:
2018-01-14 12:28:11.650130+0100 prj[46427:1071345] Running application App ({
initialProps = {
callLog = "(Function)";
};
rootTag = 1;
})
但它始终以callLog为空:
运行应用程序" App"与appParams: {" rootTag":1," initialProps" {" callLog":空}}。 DEV === true, 开发级警告为ON,性能优化为OFF
是否可以这样做?
答案 0 :(得分:1)
您无法直接将一段swift代码作为initialProp发送。这座桥将不知道如何解释它。您想通过JS调用的任何快速代码都必须通过Native Module完成。 https://facebook.github.io/react-native/docs/native-modules-ios.html