【问题标题】:Create-React-Native-App - using native modulesCreate-React-Native-App - 使用原生模块
【发布时间】:2018-02-23 18:19:40
【问题描述】:

我有一个关于在 react-native 应用中使用原生模块的问题。

正如here 所述,使用 CRNA 创建的应用程序似乎不应该与本机模块一起使用。还是真的吗?

最近我能够将 @shoutem/ui 模块与我用 CRNA 创建的应用程序集成(据我所知,这是本机模块,因为它需要我运行 react-native 链接命令)并且它在我的 android 上运行良好还有ios手机和ios模拟器。

正如this PR 解释的那样,使用 react-native 链接应该会显示错误消息,但我根本无法观察到它。

有什么改变吗?这真的很令人困惑。或者我对 react-native 中的原生模块的理解是错误的?

【问题讨论】:

    标签: facebook react-native react-native-android react-native-ios create-react-native-app


    【解决方案1】:

    如果您已导入工具包中使用的字体(如this Github issue 中所述):

    async componentWillMount() {
        await Font.loadAsync({
          'Rubik-Black': require('./node_modules/@shoutem/ui/fonts/Rubik-Black.ttf'),
          'Rubik-BlackItalic': require('./node_modules/@shoutem/ui/fonts/Rubik-BlackItalic.ttf'),
          'Rubik-Bold': require('./node_modules/@shoutem/ui/fonts/Rubik-Bold.ttf'),
          'Rubik-BoldItalic': require('./node_modules/@shoutem/ui/fonts/Rubik-BoldItalic.ttf'),
          'Rubik-Italic': require('./node_modules/@shoutem/ui/fonts/Rubik-Italic.ttf'),
          'Rubik-Light': require('./node_modules/@shoutem/ui/fonts/Rubik-Light.ttf'),
          'Rubik-LightItalic': require('./node_modules/@shoutem/ui/fonts/Rubik-LightItalic.ttf'),
          'Rubik-Medium': require('./node_modules/@shoutem/ui/fonts/Rubik-Medium.ttf'),
          'Rubik-MediumItalic': require('./node_modules/@shoutem/ui/fonts/Rubik-MediumItalic.ttf'),
          'Rubik-Regular': require('./node_modules/@shoutem/ui/fonts/Rubik-Regular.ttf'),
          'rubicon-icon-font': require('./node_modules/@shoutem/ui/fonts/rubicon-icon-font.ttf'),
        });
    
        this.setState({fontsLoaded: true});
      }
    

    使用 Shoutem UI 工具包组件应该不会有问题。

    字体链接到应用程序的二进制文件中,因此被视为原生依赖项。

    【讨论】:

    • 是的,我知道。它对我也很好。问题是我不明白为什么它在根据文档工作时不应该?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-27
    • 1970-01-01
    • 2019-01-23
    • 2017-10-27
    • 1970-01-01
    • 2022-11-11
    • 1970-01-01
    相关资源
    最近更新 更多