3

我正在基于 ClojureScript 和 React Native 的 renatal 平台上开发一个应用程序。我在Android平台上为我的应用程序禁用 RTL 时遇到问题。

这是在 react-native 中禁用 RTL 的代码,它工作得很好:

const ReactNative = require('react-native');

ReactNative.I18nManager.allowRTL(false); 

我认为这是 cljs 中的上述代码:

(def ReactNative (js/require "react-native"))

(.allowRTL (.I18nManager ReactNative) false)

但是,我收到了这个错误:

“对象不是函数(评估'my-app.android.core.ReactNative.I18nManager())”

反应原生:“v0.50.3”

反应:“16.0.0”

重新帧:“0.9.2”

clojurescript:“1.9.542”

clojure:“1.9.0-alpha16”

错误截图

4

1 回答 1

2

I18nManagerReactNative对象的一个​​字段(不是方法)。应该像这样访问它:(.-I18nManager ReactNative). 所以,相当于

ReactNative.I18nManager.allowRTL(false); 

将会

(.allowRTL (.-I18nManager ReactNative) false)
于 2018-02-28T14:29:01.210 回答