【问题标题】:React Native access strings.xml from inside javascript code从 javascript 代码中反应本机访问 strings.xml
【发布时间】: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


    【解决方案1】:

    如果有人仍然想知道如何做到这一点,我做了一个小包,允许在 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://github.com/higoramp/rn-config-reader

    【讨论】:

    • 嗨 Higor Madureira,为什么不坚持原来的 csath 项目呢?
    【解决方案2】:

    唯一可行的方法是使用原生模块https://facebook.github.io/react-native/docs/native-modules-android.html 构建一座桥。本质上,您可以将 JS 中的字符串传递给本机模块,并让本机函数处理要抓取的字符串并将其传递回 JS。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-14
      • 1970-01-01
      • 2019-11-22
      • 2013-06-23
      • 1970-01-01
      相关资源
      最近更新 更多