javascript - 在 React-native 应用程序中使用 Fable 中的 nativ

我在将 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/

相关文章:

html - css 比例变换和滤镜模糊的问题

reactjs - React Router - 父级在导航子路由时重新渲染

flutter - 抽屉菜单 - 侧面的子菜单

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

reactjs - React hook 等待上一个调用完成

amazon-web-services - 是否可以向 InputPath 添加新的键/值?