Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
React native 跨平台反应本机文件结构_React Native - Fatal编程技术网

React native 跨平台反应本机文件结构

React native 跨平台反应本机文件结构,react-native,React Native,我来自爱奥尼亚2号,在那里我只写过一次代码,它在任何地方都能运行 根据本页“在构建跨平台应用程序时,您需要尽可能重复使用代码。” 如何在ReactNative中跨iOS和Android“重用”代码?在starter应用程序中,我看到两个文件:index.ios.js和index.android.js。是否有类似index.js的东西可以用于跨平台共享 似乎应该有一个可共享代码的文件,因为上面提到的网页还显示了如何使用平台模块检查您所使用的操作系统 我意识到有时在不同的平台上需要不同的行为,但是,

我来自爱奥尼亚2号,在那里我只写过一次代码,它在任何地方都能运行

根据本页“在构建跨平台应用程序时,您需要尽可能重复使用代码。”

如何在ReactNative中跨iOS和Android“重用”代码?在starter应用程序中,我看到两个文件:index.ios.js和index.android.js。是否有类似index.js的东西可以用于跨平台共享

似乎应该有一个可共享代码的文件,因为上面提到的网页还显示了如何使用平台模块检查您所使用的操作系统

我意识到有时在不同的平台上需要不同的行为,但是,假设我的应用程序足够简单,并且我的代码在两个平台上完全相同,我是否必须从一个平台复制/粘贴到另一个平台?我如何将相同的功能拉到它自己的文件中,以便在两个平台上共享

我错过了什么


谢谢

以下是您可以做的。创建一个文件,比如说main.js,它将充当您的根页面

main.js

import React, { Component } from 'react';
import { Text } from 'react-native';

export default class Main extends Component {
  render() {
    return (
      <Text>Hello world! from both IOS and Android</Text>
    );
  }
}
import React from 'react';
import {
  AppRegistry
} from 'react-native';
import Main from './main';

AppRegistry.registerComponent('DemoApp', () => Main);
如果运行
react native run android
react native run ios
,将为这两种平台呈现Main组件

所有带有No
IOS
Android
后缀的组件都适用于这两种平台。Like
Navigator
适用于ios和android,但
NavigatorIOS
仅适用于ios。因此,您必须确保使用的是跨平台组件

如果您需要使用特定于平台的组件,则可以使用平台检测登录来执行此操作:

import { Platform } from 'react-native';
if(Platform.OS === 'ios').....


完美的非常感谢。
if(Platform.OS === 'android')...