121 votes

React Native - Quel est l'avantage d'utiliser StyleSheet par rapport à un objet simple?

Quel est exactement l'avantage d'utiliser StyleSheet.create() rapport à un objet simple?

 const styles = StyleSheet.create({
  container: {
    flex: 1
  }
}
 

Contre.

 const styles = {
  container: {
    flex: 1
  }
}
 

47voto

while1 Points 2153

Citant directement à partir de la section des commentaires de StyleSheet.js de Réagir natif

La qualité du Code:

  • En déplaçant les styles à l'écart de la fonction rendu, vous êtes en rendant le code plus facile à comprendre.

  • Nommer les styles est un bon moyen d'ajouter du sens au faible niveau des composants dans la fonction rendu.

Performance:

  • Faire une feuille de style à partir d'un objet de style permet de le désigner par son ID au lieu de créer un nouveau style d'objet à chaque fois.

  • Il permet également d'envoyer le style qu'une seule fois à travers le pont. Toutes les utilisations suivantes sont d'aller consulter un id (pas encore implémenté).

Aussi feuille de style valide votre feuille de style. De sorte que toute erreur de style incorrect propriété est indiqué au moment de la compilation plutôt qu'au moment de l'exécution lors de la feuille de style est réellement mis en œuvre.

25voto

quirimmo Points 5156

La accepté de répondre n'est pas une réponse à la discussion de la question.

La question n'est pas de la différence entre les styles en ligne et un const en dehors de la classe, mais pourquoi devrions-nous utiliser StyleSheet.create au lieu d'un objet ordinaire.

Après un peu de recherche sur ce que j'ai trouvé est la suivante (veuillez mettre à jour si vous avez des infos). Le advatanges d' StyleSheet.create doit être la suivante:

  1. Il valide les styles
  2. Mieux séances, car elle crée une cartographie des styles à un ID, et il se réfère à l'intérieur avec cette ID, au lieu de créer à chaque fois un nouvel objet. De sorte que même le processus de mise à jour des appareils est plus rapide parce que vous n'envoyez pas, à chaque fois, tous les nouveaux objets.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X