[英]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.