web-dev-qa-db-fra.com

Réagissez le projet natif, index.ios.js ou index.Android.js non généré

J'ai commencé avec React-Native aujourd'hui. Et je suis un tutoriel web.

Est-ce que toutes les installations sur ma machine Windows ont été correctement effectuées:

  • Java Jdk 
  • Studio Android 
  • Node/NPM 
  • Fil

puis installé réagit natif 

npm install -g react-native-cli

enfin un projet Hello World

react-native init albums

Je ne reçois aucune erreur. Mon application fonctionne parfaitement sur mon téléphone Android. 

Le fichier app.js dépend du choix de la plate-forme:

 /**
 * Sample React Native App
 * https://github.com/facebook/react-native
 * @flow
 */

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

const instructions = Platform.select({
  ios: 'Press Cmd+R to reload,\n' +
    'Cmd+D or shake for dev menu',
  Android: 'Double tap R on your keyboard to reload,\n' +
    'Shake or press menu button for dev menu',
});

export default class App extends Component<{}> {
  render() {
    return (
      <View style={styles.container}>
        <Text style={styles.welcome}>
          Welcome to React Native!
        </Text>
        <Text style={styles.instructions}>
          To get started, edit App.js
        </Text>
        <Text style={styles.instructions}>
          {instructions}
        </Text>
      </View>
    );
  }
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
    backgroundColor: '#F5FCFF',
  },
  welcome: {
    fontSize: 20,
    textAlign: 'center',
    margin: 10,
  },
  instructions: {
    textAlign: 'center',
    color: '#333333',
    marginBottom: 5,
  },
});

Je veux juste savoir s'il est normal de ne pas générer ces fichiers . Dois-je créer ces 2 fichiers index? Ou le dernier react-native n'a pas besoin de 2 fichiers séparés? (Le tutoriel que je suis est de janvier 2017)

 The Project structure

19
impossible

Ceci est une nouvelle fonctionnalité ajoutée à réagir-natif. Le nouveau modèle de projet ne contient maintenant pas deux fichiers distincts. Vous pouvez toujours créer et utiliser comme avant si vous préférez, mais il est tout à fait normal de l'utiliser tel quel. C'est juste une préférence et l'exigence de votre projet. Vous trouverez plus d’informations sur le changement sur ici .

À partir des notes de validation

Ce changement (abordé initialement dans react-community/create-react-native-app # 26 ) déplace le HelloWorld modèle de projet à partir de deux points d'entrée presque identiques (index.Android.js et index.ios.js) en un seul fichier minimal index.js point d’entrée. Le composant racine est créé dans App.js. Cela unifie la structure du projet entre react-native init et Create React Native App et permet à l'éjection de CRNA d'utiliser le point d'entrée depuis le modèle HelloWorld sans aucun piratage pour le personnaliser. Également les exemples de la documentation peuvent être simplement copiés-collés dans App.js de la même manière dans les applications HelloWorld et CRNA sans avoir à se renseigner au préalable sur AppRegistry.registerComponent.

40
bennygenel

Tout simplement parce que le nouveau modèle de projet ne contient maintenant pas index.Android.js et index.ios.js séparément. Il ne contient maintenant qu'un seul point d'entrée index.js minimal. 

Si vous voulez faire quelque chose de spécifique pour les deux/une des plateformes alors vous pouvez créer vos propres fichiers index.Android.js et index.ios.js et puis importez simplement le code dans les deux à partir du fichier index.js et du fichier faire les changements nécessaires là.

index.Android.js et index.ios.js peuvent être écrits en tant que:

import Render from './App';

export default Render;
0
Aavgeen singh