-2

我在 react native 上创建了一个应用程序。其中只有 2 个活动,现在我想将它们集成到我现有的 android 应用程序中(Native android app).

我开始知道 React-native 的核心是不提供生成.arr文件或native code. 为此,我们需要使用Electrode Native.

我的问题是:有没有其他方法可以从 react-native 代码生成原生(iOS/android)代码?是否存在任何其他工具?如果他们这样做,还有哪些其他功能Electrode native可以让人们考虑它?

4

2 回答 2

2

React Native 提供了一个模块来检测应用程序运行的平台。您可以使用检测逻辑来实现特定于平台的代码。当组件只有一小部分是特定于平台的时,请使用此选项。

import {Platform, StyleSheet} from 'react-native';

const styles = StyleSheet.create({
  height: Platform.OS === 'ios' ? 200 : 100,
});

Platform.OS 在 iOS 上运行时为 ios,在 Android 上运行时为 android。

还有一个 Platform.select 方法可用,给定一个包含 Platform.OS 作为键的对象,返回您当前运行的平台的值。

import {Platform, StyleSheet} from 'react-native';

const styles = StyleSheet.create({
  container: {
    flex: 1,
    ...Platform.select({
      ios: {
        backgroundColor: 'red',
      },
      android: {
        backgroundColor: 'blue',
      },
    }),
  },
});

这将导致容器在两个平台上都有 flex: 1,在 iOS 上是红色背景色,在 Android 上是蓝色背景色。

由于它接受任何值,因此您还可以使用它来返回特定于平台的组件,如下所示:

const Component = Platform.select({
  ios: () => require('ComponentIOS'),
  android: () => require('ComponentAndroid'),
})();

<Component />;

检测 Android 版本 在 Android 上,Platform 模块也可用于检测应用运行的 Android 平台的版本:

import {Platform} from 'react-native';

if (Platform.Version === 25) {
  console.log('Running on Nougat!');
}

检测 iOS 版本 在 iOS 上,Version 是 -[UIDevice systemVersion] 的结果,它是一个带有当前操作系统版本的字符串。系统版本的一个例子是“10.3”。例如,要检测 iOS 上的主要版本号:

import {Platform} from 'react-native';

const majorVersionIOS = parseInt(Platform.Version, 10);
if (majorVersionIOS <= 9) {
  console.log('Work around a change in behavior');
}

于 2018-04-20T13:55:34.610 回答
1

回答问题what other features Electrode native offers to make one consider it?

在现有的移动应用程序中开发、集成和重用多个不同的 React Native 组件时,开发人员面临着明显的挑战。

Electrode Native 通过提供一个开源平台来应对这些挑战,该平台减少了 React Native 开发人员和移动应用程序开发人员的摩擦。使用 Electrode Native 平台解决方案,开发人员可以利用他们的知识,而无需彻底改变他们的工作流程以适应在他们的移动应用程序中集成多个 React Native 组件

Electrode Native 允许移动应用程序开发人员轻松地将各个 React Native 组件集成到他们现有的移动应用程序中——无需更改其基础架构或处理或安装任何基于 JavaScript 的工具——甚至 Electrode Native 本身!

底线:使用 Electrode Native,开发人员可以专注于功能和构建他们的应用程序——没有重用或集成问题的麻烦。

阅读更多关于为什么电极原生在这里。

于 2018-05-14T18:53:55.547 回答