React Native (mise à jour à long terme)

Petit Doo. 2021-09-15 08:24:33
react native mise jour long


React Native Site officiel

SireactLes bases sont un peu oubliées,On peut l'ouvrir.ReactSite officielVoir

Introduction

React Native C'est une utilisationReactEt la fonctionnalité native de la plateforme d'application pour construire Android Et iOS Cadre open source appliqué.Adoption React Native,Vous pouvez utiliser JavaScript Pour accéder à la plateforme mobile API,Et l'utilisation de React Composants pour décrire UI L'apparence et le comportement de: Une gamme de réutilisables 、 Code imbriqué .

ReactNative La construction de l'environnement est relativement compliquée SelonReact Native Site officielEffectuer l'installation,C'est bon, Si vous échouez, Essayez encore , Vous pouvez aussi laisser un message ci - dessous , Plus rien à dire ici

Initialiser le projet

npx react-native init myApp
Copier le Code

Installation de l'outil de projection

scrcpyAdresse

Mode d'emploi:

  • Télécharger scrcpy
  • Le téléphone passe usbConnexion à l'ordinateur
  • Double - cliquez pour ouvrir l'outil

React NativeBase

Structure du Répertoire de fichiers

│  App.js           ---   Élément racine du projet
│  index.js         ---   Fichier d'entrée pour le projet    
│  package.json     ---   Description du projet        
│ .eslintrc.js     ---   eslintProfil pour            
│ .prettierrc.js   ---   Formatage des profils            
│  android          ---   Compiler Android pertinent      
│  ios              ---   CompileriosAutres
Copier le Code

jsx

jsx(Le nom complet est JavaScript xml) Format les étudiants sont familiers , Mais encore une fois, pour le nouvel étudiant

import React from 'react';
import { View, Text } from 'react-native';
const Index = () => <View> <Text>JSX</Text> </View>
export default Index;
Copier le Code

RNStyles etweb Différents styles

flexMise en page

  • React Native Utilisé dans flexbox Règles pour spécifier la disposition des éléments enfants d'un composant , Afin qu'il puisse fournir une disposition cohérente dans différentes tailles d'écran

  • flexDirectionLa valeur par défaut pour estcolumnAu lieu derow,Etflex Vous ne pouvez spécifier qu'une seule valeur numérique .

  • flex Plus la valeur est grande, plus la proportion est grande

Héritage de style

Couleur de fond、Couleur de police、 Taille de police, etc. non héritée , Un réglage séparé est nécessaire

Unité

React Native Toutes les tailles sont non unitaires , Représente un pixel logique indépendant de la densité du pixel de l'appareil .

  • Non. px Unité
  • Non. vw vh Équivalent
  • Vous pouvez ajouter des unités de pourcentage

Largeur et hauteur de l'écran

import {Dimensions } from "react-native";
const screenWidth = Math.round(Dimensions.get('window').width);
const screenHeight = Math.round(Dimensions.get('window').height);
Copier le Code

mobox

mobox Par rapport àreduxPlus facile à utiliser,Mieux adaptéreact-NativeDéveloppement

Simple., Gestion extensible de l'état

mobox Utiliser une méthode similaire à d'autres outils de gestion de l'état

  1. Dépendances d'installation
  • mobx Bibliothèque centrale
  • mobx-react La commodité estreactUtilisé dansmobx Une bibliothèque de technologies
  • @babel/plugin-proposal-decorators Jean rn Appui aux projets es7 Une bibliothèque de grammaire décorative pour
yarn add mobx mobx-react @babel/plugin-proposal-decorators
Copier le Code
  1. In babel.config.jsAjouter la configuration suivante
 plugins: [
['@babel/plugin-proposal-decorators', { 'legacy': true }]
]
Copier le Code
  1. Nouveau fichier mobx\index.js Pour stocker Données globales
import { observable, action } from "mobx";
class RootStore {
// observable Indique que les données peuvent être surveillées Indique qu'il s'agit de données globales 
@observable name = "hello";
// actionComportement Représentation changeName Est un moyen de modifier les données partagées à l'échelle mondiale 
@action changeName(name) {
this.name = name;
}
}
export default new RootStore();
Copier le Code
  1. Monter sur le composant racine

Besoin de passerProvider Pour monter et livrer

import React, { Component } from 'react';
import { View} from 'react-native';
import rootStore from "./mobx";
import { Provider} from "mobx-react";
class Index extends Component {
// Normal
render() {
return (
<View > <Provider rootStore={rootStore} > <Sub1></Sub1> </Provider> </View>
);
}
}
Copier le Code
  1. Utilisation dans d'autres composants
import React, { Component } from 'react';
import { View, Text } from 'react-native';
import {inject,observer } from "mobx-react";
@inject("rootStore") // Injection Pour obtenir Global data 
@observer // Quand tout a changé Rendu des composants Pour afficher les dernières données 
class Sub1 extends Component {
changeName = () => {
// Modifier les données globales 
this.props.rootStore.changeName(Date.now());
}
render() {
console.log(this);
### return (
<View><Text onPress={this.changeName}>{this.props.rootStore.name}</Text></View>
);
}
}
export default Index;
Copier le Code
版权声明
本文为[Petit Doo.]所创,转载请带上原文链接,感谢
https://qdmana.com/2021/09/20210914162236066S.html

  1. Fatal Magic: countless sacrifices under gorgeous magic
  2. Mon expérience d'entrevue principale est partagée avec l'expérience d'apprentissage
  3. Mon expérience d'entrevue Android de Tencent partage, plugin Android
  4. Partage de questions d'entrevue Java à double saut d'octets non - premier cycle, un article vous apprend à gérer l'entrevue réseau informatique,
  5. Questions d'entrevue CSS (notes)
  6. Syntaxe de base de la classe
  7. Héritage de classe
  8. Mise en œuvre simple de 30 minutes pour un filtrage rapide des chaînes de tableau 10W +.
  9. Vue 3 tri des documents démarrage rapide
  10. Collection de code de base JavaScript (1)
  11. National secret nginx Container actual Fighting
  12. Quelques lignes de css pour rendre votre page tridimensionnelle
  13. C'est super détaillé, de "finir" ce 300 pages de 1000 questions d'entrevue,
  14. Take you in-depth understanding of nginx basic login authentication (including all configuration steps and in-depth analysis)
  15. Après avoir mangé, assurez - vous d'augmenter votre salaire de 5K et de rester debout tard pour trier les questions d'entrevue Java de millet.
  16. Résumé des questions d'entrevue pour les entreprises Internet nationales de première ligne, qui doivent être posées lors de l'entrevue d'emploi Java de la grande usine en 2021,
  17. "L'amour à première vue", la nouvelle BMW 2 coupe réelle, vous êtes surpris?
  18. Questions d'entrevue de test avancé de Dachang, liste des compétences de base de l'entrevue Java,
  19. Tableau 2D trié par un champ
  20. JS est souvent utilisé pour déterminer si l'objet est vide
  21. Contrôle de l'arbre en vue converti en style de table
  22. CSS3 animation flash Effect
  23. Discuter des propriétés de la file d'attente pour l'événement bloc
  24. Node around USModules
  25. Webpack - - Premier aperçu (concept de base)
  26. Mise en œuvre du cadre de base mvvm par JS natif
  27. Calculer les propriétés par rapport aux auditeurs, etc.
  28. Configuration standard dockerfile et docker-composer.yml
  29. Collection de questions d'entrevue HTML
  30. Conteneur, définir la largeur et la hauteur ne répond pas?
  31. Introduction et syntaxe des objets (mise à jour à long terme)
  32. Bubble Mart invests in cat galaxy, which is a vertical e-commerce platform around the quadratic element
  33. Exigences et dépendances dans package-lock.json
  34. Mouvement tridimensionnel de la terre, du ciel et de la lune basé sur three.js
  35. Compréhension et analyse de l'objet de base JS
  36. Simple use of status data management (context, mobx, Redux)
  37. Simulated drumming
  38. Array method
  39. Performance optimization issue 03 - HTTP request optimization
  40. Vue learning -- watch listener
  41. Learn more about nexttick in Vue
  42. Talk about some moves used by vue3.0 in the project - External skill chapter (I)
  43. JavaScript genrator generator
  44. La dernière réponse à l'entrevue de développement Android, l'hiver froid de l'industrie
  45. Maserati's motorcycle has less than 10 in the world. It is definitely a work of art
  46. 2021 partage des questions du dernier examen écrit d'entrevue Android, pas d'accord
  47. Programmation asynchrone Java scirp, développement frontal de base
  48. 2021 dernier examen écrit d'entrevue Android, écrit trop bien
  49. Quels aspects doivent être pris en considération dans le tableau principal du distributeur libre - service?
  50. He inherited his mother's hundreds of millions of property for his boyfriend to squander. Unexpectedly, he was ruthlessly abandoned when he had 100 yuan left
  51. The fuel cost is half less than that of fuel vehicles at the same level. Is it really cheap to use song Pro DM?
  52. Le dernier résumé de l'expérience d'entrevue d'embauche de l'école Android de l'usine est nécessaire pour l'usine
  53. Le dernier dictionnaire avancé de programmeurs d'usine, l'expérience d'entrevue d'embauche de l'Agence de développement Android
  54. La dernière collection d'entrevues Android Golden nine Silver ten
  55. L'expérience d'entrevue de l'Ingénieur d'algorithme de saut d'octets, 2 mois d'entrevue Tencent, station B, Netease et ainsi de suite sur 11 entreprises résumé!
  56. La dernière collection d'entrevues d'Android Golden nine Silver ten recommande un projet github
  57. Yuan Li's recent situation revealed that he was obsessed with public welfare, dressed simply and fearless, grew fat, and married an 11-year-old husband
  58. Initial experience of template tool plop of [front end Engineering]
  59. Partager les dernières questions d'entrevue Android haute fréquence avec quelques conseils
  60. Iteratable object and class arrays