Maison > interface Web > js tutoriel > Pratique de développement multiplateforme React Native : de zéro à un

Pratique de développement multiplateforme React Native : de zéro à un

Mary-Kate Olsen
Libérer: 2024-12-24 16:39:13
original
218 Les gens l'ont consulté

React Native cross-platform development practice: from zero to one

J'apprends récemment le développement multiplateforme React Native, comment développer la première application de base à partir de zéro et la conditionner pour la sortie :

1. Préparation de l'environnement

  • Installer Node.js
  • Installer React Native CLI
  • Configurez un environnement de développement Android ou iOS (selon la plateforme que vous souhaitez prendre en charge)

2. Créez un nouveau projet Utilisez React Native CLI pour créer un nouveau projet :

npx react-native init MyProject
Copier après la connexion

3. Vérifiez la structure du projet Le nouveau projet contiendra les fichiers et répertoires clés suivants :

  • index.js : le point d'entrée de l'application
  • App.js : les principaux composants de l'application
  • Répertoires Android et iOS : contiennent respectivement les configurations de projet pour les plateformes Android et iOS
  • package.json : dépendances et métadonnées du projet

4. Exécutez l'application

Pour Android :

npx react-native run-android
Copier après la connexion

Pour iOS :

npx react-native run-ios
Copier après la connexion

5. Écrivez votre premier composant

Ouvrez App.js, remplacez le contenu par défaut et créez un simple composant Hello World :

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

   const App = () => {
     return (
       <View>



<h3>
  
  
  6. Add styles You can add CSS styles in App.js or in a separate styles.js file:
</h3>



<pre class="brush:php;toolbar:false">   import React from 'react';
   import { View, Text, StyleSheet } from 'react-native';

   const styles = StyleSheet.create({
     container: {
       flex: 1,
       justifyContent: 'center',
       alignItems: 'center',
       backgroundColor: '#F5FCFF',
     },
   });

   const App = () => {
     return (
       <View>



<h3>
  
  
  7. Install third-party libraries
</h3>

<p>Suppose we want to use the react-native-vector-icons library to add icons:<br>
</p>

<pre class="brush:php;toolbar:false">   npm install react-native-vector-icons
   npx react-native link react-native-vector-icons
Copier après la connexion

8. Utilisez des bibliothèques tierces pour mettre à jour App.js afin d'importer des icônes :

   import React from 'react';
   import { View, Text } from 'react-native';
   import Icon from 'react-native-vector-icons/Ionicons';

   const App = () => {
     return (
       <View>



<h3>
  
  
  9. Run and test After each modification, rerun the application to see the changes.
</h3>

<h3>
  
  
  10. Add routing and navigation
</h3>

<p>In order to jump between pages in the application, we can use the react-navigation library. First install:<br>
</p>

<pre class="brush:php;toolbar:false">    npm install @react-navigation/native
    npm install react-native-reanimated react-native-gesture-handler react-native-screens react-native-safe-area-context @react-native-community/masked-view
Copier après la connexion

Créez ensuite la structure de navigation :

    import React from 'react';
    import { NavigationContainer } from '@react-navigation/native';
    import { createStackNavigator } from '@react-navigation/stack';
    import HomeScreen from './screens/HomeScreen';
    import DetailsScreen from './screens/DetailsScreen';

    const Stack = createStackNavigator();

    const App = () => {
      return (
        <NavigationContainer>
          <Stack.Navigator>
            <Stack.Screen name="Home" component={HomeScreen} />
            <Stack.Screen name="Details" component={DetailsScreen} />
          </Stack.Navigator>
        </NavigationContainer>
      );
    };

    export default App;
Copier après la connexion

Créez HomeScreen.js et DetailsScreen.js dans le répertoire screens et écrivez les composants correspondants.

11. Requête réseau Utilisez la bibliothèque axios pour effectuer des requêtes HTTP :

    npm install axios
Copier après la connexion

Envoi d'une requête dans un composant :

    import React, { useState, useEffect } from 'react';
    import axios from 'axios';

    const HomeScreen = () => {
      const [data, setData] = useState([]);

      useEffect(() => {
        axios.get('https://jsonplaceholder.typicode.com/posts')
          .then(response => setData(response.data))
          .catch(error => console.error(error));
      }, []);

      return (
        // 渲染数据
      );
    };

    export default HomeScreen;
Copier après la connexion

12. Gestion de l'État

Utilisez Redux ou MobX pour la gestion de l'état. Ici, nous prenons Redux comme exemple :

    npm install redux react-redux
    npm install @reduxjs/toolkit
Copier après la connexion

Créez un magasin, des actions et des réducteurs, puis définissez le fournisseur dans App.js :

    import React from 'react';
    import { Provider } from 'react-redux';
    import store from './store';

    const App = () => {
      return (
        <Provider store={store}>
          {/* Other codes */}
        </Provider>
      );
    };

    export default App;
Copier après la connexion

13. Animation Utilisez la bibliothèque React-Native-Reanimated pour implémenter l'animation :

    npm install react-native-reanimated
Copier après la connexion

Ajouter des effets d'animation aux composants :

 importer React depuis 'react';
    importer {Animation, Vue, Texte} depuis 'react-native' ;
    importer { interpoler } depuis 'react-native-reanimated' ;

    const App = () => {
      const animationValue = new Animated.Value(0);

      const opacité = interpoler (animatedValue, {
        plage d'entrée : [0, 1],
        plage de sortie : [0, 1],
      });

      const styleanimé = {
        opacité,
      } ;

      retour (
        <Vue animée>



<h3>
  
  
  14. Optimisation des performances
</h3>

Copier après la connexion
  • Utilisez PureComponent ou React.memo pour réduire les rendus inutiles
  • Utilisez FlatList ou SectionList pour optimiser les longues listes
  • Utilisez ShouldComponentUpdate ou useMemo, utilisez les méthodes de cycle de vie UseCallback
  • Optimiser les requêtes réseau et le chargement des images
  • Utilisez AsyncStorage ou redux-persist pour enregistrer l'état le cas échéant

15. Libérez l'application

  • Android : générez un APK signé et téléchargez-le sur la console Google Play
  • iOS : configurez Xcode et soumettez-le à App Store Connect

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal