我正在基于ClojureScript和React Native的重生平台上开发应用程序。我在 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())”
react-native:“v0.50.3”
反应:“16.0.0”
重新架构:“0.9.2”
clojurescript:“1.9.542”
clojure:“1.9.0-alpha16”
screenshot of error
最佳答案
I18nManager
是ReactNative
对象的字段(不是方法)。应该这样访问:(.-I18nManager ReactNative)
。所以,相当于
ReactNative.I18nManager.allowRTL(false);
将会
(.allowRTL (.-I18nManager ReactNative) false)