我在将JavaScript代码传递到f#寓言react-native应用程序时遇到麻烦。更具体地说,一些反应方法可以与沙发床lite进行交互。
不幸的是,尽管这可能是一个相当简单的问题,但是我的javascript充其量是不存在的。我基本上想要这样:
import {NativeModules} from 'react-native';
NativeModules.CouchDB.addToDatabase("hei", (err, name) => console.log(err,name));
要与寓言翻译器一起在F#中使用,谢谢。
答案 0 :(得分:0)
不幸的是,与提供的代码示例相比,它需要做更多的工作。您基本上必须在 F# 中为要使用的 JS 代码编写绑定。您可以在此处找到一些提示:https://fable.io/docs/communicate/js-from-fable.html。
您通常需要实际查看 JS 代码才能编写正确的绑定。对于您的具体示例,您将使用抽象成员 addToDatabase 实现 CouchDB 类型,就像从上面的链接中获取的这段代码一样:
type IAlert =
abstract triggerAlert : message:string -> unit
abstract someString: string
会变成:(不是工作代码,只是示范,我不熟悉 CouchDB 库)
type CouchDB =
abstract addToDatabase : params -> returnType
然后您实际上会像这样调用该函数:
[<ImportAll("my-module")>]
let mylib: IAlert = jsNative
mylib.addToDatabase params