Create-React-Native-App - 使用原生模块

Create-React-Native-App - using native modules

我有一个关于将本机模块与 react-native 应用程序一起使用的问题。

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

最近我能够将 @shoutem/ui 模块与我使用 CRNA 创建的应用程序集成(据我所知,这是本机模块,因为它需要我 运行 react-native link 命令),它在我的 android 和 ios 手机以及 ios 模拟器上工作得很好。

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

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

如果您导入了工具包中使用的字体(如 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 工具包组件应该不会有问题。

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