簡體   English   中英

將 Fable 中的本機模塊用於本機應用程序

[英]Usage of native modules in Fable for a react-native app

我在將 javascript 代碼轉移到 f# fable react-native 應用程序時遇到了一些麻煩。 更具體地說,一些與 couchbase lite 交互的反應方法。

不幸的是,盡管這可能是一個相當簡單的問題,但我的 javascript 熟練程度充其量是不存在的。 我基本上想要這個:

import {NativeModules} from 'react-native';

NativeModules.CouchDB.addToDatabase("hei", (err, name) => console.log(err,name));

要在 F# 中與寓言轉譯器一起使用,任何有關如何實現這一點的指針都會很棒,謝謝。

不幸的是,與提供的代碼示例相比,它需要做更多的工作。 您基本上必須在 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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM