使用 ClojureScript、Re-natal 和 React-Native 禁用 RTL?

Disable RTL using ClojureScript, Re-natal and React-Native?

我正在开发一个基于 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)

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

"Object is not a function (evaluating 'my-app.android.core.ReactNative.I18nManager())"

本机反应:"v0.50.3"

反应:“16.0.0”

重新构建:“0.9.2”

clojurescript:“1.9.542”

clojure:“1.9.0-alpha16”

screenshot of error

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

ReactNative.I18nManager.allowRTL(false); 

将会

(.allowRTL (.-I18nManager ReactNative) false)