我在将 javascript 代码转移到 f# fable react-native 应用程序时遇到了一些问题。更具体地说,一些与 couchbase lite 交互的 react 方法。
不幸的是,我的 javascript 熟练程度充其量是不存在的,尽管这可能是一个相当简单的问题。我基本上想要这个:
import {NativeModules} from 'react-native';
NativeModules.CouchDB.addToDatabase("hei", (err, name) => console.log(err,name));
要在 F# 中与寓言转译器一起使用,任何有关如何实现这一点的指示都将非常重要,谢谢。
最佳答案
不幸的是,它比提供的代码示例需要更多的工作。您基本上必须在 F# 中为要使用的 JS 代码编写绑定(bind)。您可以在这里找到一些建议:https://fable.io/docs/communicate/js-from-fable.html .
您通常需要实际查看 JS 代码才能编写正确的绑定(bind)。对于您的具体示例,您将使用抽象成员 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
关于javascript - 在 React-native 应用程序中使用 Fable 中的 native 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56665651/
相关文章:
reactjs - React Router - 父级在导航子路由时重新渲染
javascript - 如何将 blob 转换为 xlsx 或 csv?
apache-spark - 如何将处理程序附加到 sparkUI
c# - 标签助手 asp-route- 不工作 - Razor Pages(.Net Core 3
google-cloud-platform - 使用 Terraformer\Terraform 克
react-native - ScrollView : content image is cropp