【发布时间】:2017-12-08 05:00:02
【问题描述】:
有没有办法从 Javascript 代码中访问 android/app/src/main/res/values/strings.xml 的当前值?我想为每个构建放置不同的端点 URL,但我什至无法检测 react-native 代码中构建的类型,而无需求助于 __DEV__ 变量(可以从开发菜单中关闭)
【问题讨论】:
标签: android react-native apk react-native-android
有没有办法从 Javascript 代码中访问 android/app/src/main/res/values/strings.xml 的当前值?我想为每个构建放置不同的端点 URL,但我什至无法检测 react-native 代码中构建的类型,而无需求助于 __DEV__ 变量(可以从开发菜单中关闭)
【问题讨论】:
标签: android react-native apk react-native-android
如果有人仍然想知道如何做到这一点,我做了一个小包,允许在 JS 上使用 strings.xml 中的导出变量。
您可以使用 rn-config-reader 来执行此操作。只需安装软件包:
npm install rn-config-reader
在strings.xml里面配置你要在JS中使用的字符串:
<resources>
<string-array name="export_variables">
<item>TEST_CONFIG_FIELD</item>
</string-array>
<string name="TEST_CONFIG_FIELD">ConfigValue</string>
</resources>
在您的 javascript 中,只需使用变量:
import RNConfigReader from 'rn-config-reader';
console.log(RNConfigReader.TEST_CONFIG_FIELD);
【讨论】:
唯一可行的方法是使用原生模块https://facebook.github.io/react-native/docs/native-modules-android.html 构建一座桥。本质上,您可以将 JS 中的字符串传递给本机模块,并让本机函数处理要抓取的字符串并将其传递回 JS。
【讨论】: