web-dev-qa-db-fra.com

react-native app.js index.js

Je suis nouveau dans le développement d'applications avec React-native. Lors de la création d'un projet avec la commande react-native init appname le index.js le fichier est également créé dans le dossier du projet. Aujourd'hui, j'ai appris qu'il existe un meilleur moyen que d'installer Android émulateur pour tester des projets réactifs natifs qui est Expo. Pour créer des projets expo, je dois créer un projet réactif natif avec create-react-native-app appname commande. Cependant, le index.js le fichier n'est pas créé lors de la création du projet de cette façon. Même si, j'ai créé manuellement le index.js fichier, il ne fonctionne pas comme il se doit.

Encore une question: quel est le but de App.js et index.js?

13
Murad Zulfugarov

React Native: (react-native init)

Un peu d'histoire. Dans les versions antérieures de React Native, distinct index.js les fichiers étaient requis pour iOS et Android. App.js devait contenir le code de niveau supérieur multiplateforme pour votre application. Ensuite index.ios.js et index.Android.js importerait le code multiplateforme de App.js et l'enregistrer/le lier aux modules natifs sous-jacents. Cela vous a permis de placer du code multiplateforme de niveau supérieur dans un fichier tout en plaçant du code spécifique de plate-forme de niveau supérieur dans d'autres fichiers. Le index.*.js les fichiers étaient les connecteurs qui connectaient le Javascript au code natif Android ou code iOS.

Comme React Native a évolué pour supprimer les fichiers d'index spécifiques à la plate-forme, ils ont conservé le paradigme d'avoir le Javascript de niveau supérieur dans App.js et en utilisant index.js pour câbler ce code aux modules natifs.

Conclusion

En pratique, ne touchez pas index.js. Apportez vos modifications de niveau supérieur dans App.js.

Expo: (create-react-native-app)

Expo fonctionne un peu différemment de la ligne de base React Native. Vous remarquerez qu'un projet Expo ne contient pas les répertoires ios ou Android. C'est parce qu'il y a aucun code natif associé à un projet Expo. Tout le code natif est contenu dans le SDK Expo. Puisqu'il n'y a pas de code natif à connecter à votre Javascript, vous n'avez pas besoin d'un index.js fichier.

Conclusion

Vous ne devriez pas avoir besoin d'un index.js fichier dans un projet Expo. Si votre projet Expo ne fonctionne pas, il y a probablement un autre problème qui doit être résolu.

29
Tom Aranda