我是使用React-native进行应用程序开发的新手。使用命令react-native init appname
创建项目时,还会在项目文件夹中创建index.js
文件。今天,我了解到有一种比安装Android模拟器更好的方法来测试反应原生项目,这是世博会。要创建expo项目,我需要使用create-react-native-app appname
命令创建react-native项目。但是,使用这种方式创建项目时不会创建index.js
文件。即使我手动创建了index.js
文件,它也无法正常工作。
还有一个问题:App.js
和index.js
的目标是什么?
答案 0 :(得分:27)
React Native:(react-native init
)
一点历史。在早期版本的React Native中,iOS和Android需要单独的index.js
个文件。 App.js
旨在包含您应用的顶级跨平台代码。然后index.ios.js
和index.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项目不包含ios
或android
目录。这是因为没有与Expo项目相关的本机代码。所有本机代码都包含在Expo SDK中。由于没有本地代码可以连接到您的Javascript,因此您不需要index.js
文件。
底线
您不应该在Expo项目中使用index.js
文件。如果您的世博项目无法运作,可能还有其他问题需要解决。