react-native app.js index.js

时间:2018-03-22 14:18:32

标签: react-native react-native-android

我是使用React-native进行应用程序开发的新手。使用命令react-native init appname创建项目时,还会在项目文件夹中创建index.js文件。今天,我了解到有一种比安装Android模拟器更好的方法来测试反应原生项目,这是世博会。要创建expo项目,我需要使用create-react-native-app appname命令创建react-native项目。但是,使用这种方式创建项目时不会创建index.js文件。即使我手动创建了index.js文件,它也无法正常工作。

还有一个问题:App.jsindex.js的目标是什么?

1 个答案:

答案 0 :(得分:27)

React Native:react-native init

一点历史。在早期版本的React Native中,iOS和Android需要单独的index.js个文件。 App.js旨在包含您应用的顶级跨平台代码。然后index.ios.jsindex.android.js将从App.js导入跨平台代码,并将其与基础本机模块注册/链接。这允许您将顶级跨平台代码放在一个文件中,同时将顶级平台特定代码放在其他文件中。 index.*.js文件是将Javascript连接到本机Android或iOS代码的连接器。

当React Native发展为删除特定于平台的索引文件时,他们保留了在App.js中使用顶级Javascript并使用index.js将该代码连接到本机模块的范例。

底线

实际上,请勿触摸index.js。在App.js

中进行顶级修改

世博会:create-react-native-app

Expo的运作方式与基线React Native略有不同。您会注意到Expo项目不包含iosandroid目录。这是因为没有与Expo项目相关的本机代码。所有本机代码都包含在Expo SDK中。由于没有本地代码可以连接到您的Javascript,因此您不需要index.js文件。

底线

您不应该在Expo项目中使用index.js文件。如果您的世博项目无法运作,可能还有其他问题需要解决。