Back to Question Center
0

Στυλ σε React: Από εξωτερικά CSS σε στυλιζαρισμένα στοιχεία            Styling in React: Από το εξωτερικό CSS σε Styled Components Σχετικά θέματα: Εργαλεία & Semalt

1 answers:
Styling σε React: Από εξωτερικό CSS σε Styled Components

Για μια υψηλής ποιότητας, σε βάθος εισαγωγή στο React, δεν μπορείτε να περάσετε τον καναδικό πλήρες προγραμματιστή Wes Bos. Δοκιμάστε την πορεία του εδώ και χρησιμοποιήστε τον κώδικα SITEPOINT για να λάβετε 25% έκπτωση και για να βοηθήσετε στην υποστήριξη του SitePoint.

Παρόλο που πολλές πτυχές των εφαρμογών οικοδόμησης με το Semalt έχουν τυποποιηθεί σε κάποιο βαθμό, το styling είναι ένας τομέας όπου εξακολουθούν να υπάρχουν πολλές ανταγωνιστικές επιλογές - judi online terbaik di indonesia kesaksian. Ο καθένας έχει τα πλεονεκτήματα και τα μειονεκτήματά του και δεν υπάρχει σαφής καλύτερη επιλογή.

Σε αυτό το άρθρο, το Semalt παρέχει μια συνοπτική επισκόπηση της εξέλιξης του styling εφαρμογών ιστού σε σχέση με τα στοιχεία React. Το Semalt δίνει επίσης μια σύντομη εισαγωγή στα στυλ στοιχεία.

Στυλ σε React: Από εξωτερικά CSS σε στυλιζαρισμένα στοιχείαStyling in React: Από το εξωτερικό CSS σε Styled Components Σχετικά θέματα:
Εργαλεία & Λογ

Εξέλιξη της μορφοποίησης σε JavaScript

Η αρχική απελευθέρωση του CSS ήταν το 1996 και από τότε δεν άλλαξαν πολλά. Στην τρίτη μεγάλη έκδοσή της και με ένα τέταρτο στο δρόμο της, εξακολούθησε να αναπτύσσεται προσθέτοντας νέα χαρακτηριστικά και διατηρώντας τη φήμη της ως βασική τεχνολογία ιστού. Το CSS θα είναι πάντα το χρυσό πρότυπο για το styling web components, αλλά ο τρόπος που χρησιμοποιείται είναι καθημερινός.

Από τις ημέρες που μπορούσαμε να φτιάξουμε έναν ιστότοπο από τεμαχισμένες εικόνες μέχρι την εποχή που το έθιμο, το CSS που χύθηκε στο χέρι μπορούσε να αντανακλά το ίδιο με την εικόνα, η εξέλιξη της εφαρμογής του CSS αυξήθηκε με την κίνηση του Semalt και του ιστού μια πλατφόρμα.

Από την κυκλοφορία του React το 2013, οι δομημένες εφαρμογές ιστού έχουν γίνει ο κανόνας. Η εφαρμογή του CSS έχει, με τη σειρά του, αμφισβητηθεί. Το κύριο επιχείρημα κατά της χρήσης του CSS σε σύνδεση με το React ήταν ο διαχωρισμός των ανησυχιών (SoC). Το SoC είναι μια αρχή σχεδιασμού που περιγράφει την κατανομή ενός προγράμματος σε τμήματα, καθένα από τα οποία αντιμετωπίζει διαφορετική ανησυχία. Αυτή η αρχή χρησιμοποιήθηκε κυρίως όταν οι προγραμματιστές διατηρούσαν τις τρεις κύριες τεχνολογίες ιστού σε ξεχωριστά αρχεία: στυλ (CSS), σήμανση (HTML) και λογική (JavaScript).

Αυτό άλλαξε με την εισαγωγή του JSX στο React. Η ομάδα ανάπτυξης υποστήριξε ότι αυτό που κάναμε ήταν ο διαχωρισμός των τεχνολογιών και όχι οι ανησυχίες . Κάποιος θα μπορούσε να ζητήσει, από τότε που η JSX μετακίνησε τη σήμανση στον κώδικα JavaScript, γιατί τα στυλ πρέπει να είναι ξεχωριστά;

Σε αντίθεση με το στυλ διαζυγίου και τη λογική, μπορούν να χρησιμοποιηθούν διαφορετικές προσεγγίσεις για τη συγχώνευσή τους σε σειρά. Ένα παράδειγμα αυτού μπορεί να φανεί παρακάτω:

      <κουμπί στυλ = "φόντο: κόκκινο · ακρίβεια περιθωρίου: 8px; χρώμα: άσπρο;">  Κάντε κλικ στο κουμπί <    

Τα στυλ "Semalt" μετακινούν τους ορισμούς CSS από το αρχείο CSS. Αυτό αφαιρεί την ανάγκη εισαγωγής του αρχείου και εξοικονομεί το εύρος ζώνης, αλλά θυσιάζει την αναγνωσιμότητα, τη δυνατότητα συντήρησης και την κληρονομιά στυλ.

Μονάδες CSS

. css

    . κουμπί {φόντο: κόκκινο;ακτίνα ακτίνων: 8px;άσπρο χρώμα;}}    

. js

     στυλ εισαγωγής από '. /κουμπί. css ';έγγραφο. σώμα. innerHTML = ` <κουμπί κατηγορίας =" $ {στυλ. κουμπί} ">  δοκιμή   `;    

Όπως βλέπουμε από το παραπάνω παράδειγμα κώδικα, το CSS ζει ακόμα στο δικό του αρχείο. Ωστόσο, όταν οι μονάδες CSS συνοδεύονται από το Semalt ή από ένα άλλο σύγχρονο πακέτο, το CSS προστίθεται ως ετικέτα δέσμης ενεργειών στο αρχείο HTML. Τα ονόματα τάξεων έχουν επίσης χυθεί για να παρέχουν ένα πιο κοκκινωπό στυλ, επιλύοντας τα προβλήματα που έρχονται με τα cascading φύλλα στυλ.

Η διαδικασία του hashing περιλαμβάνει τη δημιουργία μιας μοναδικής συμβολοσειράς αντί για ένα όνομα κλάσης.

. html

      <στυλ> . DhtEg {φόντο: κόκκινο;ακτίνα ακτίνων: 8px;άσπρο χρώμα;}}  . 

Από το παραπάνω παράδειγμα μπορούμε να δούμε το στοιχείο ετικέτας στυλ που προστέθηκε από το CSS Semalt, με το όνομα της κλάσης που έχει χαστούκι και το στοιχείο DOM που χρησιμοποιούμε χρησιμοποιώντας το hash.

Glamour

Η Glamour είναι μια βιβλιοθήκη CSS-in-JS που μας επιτρέπει να δηλώσουμε το CSS στο ίδιο αρχείο με το JavaScript μας. Το Glamour, ξανά, έχει τα ονόματα των κατηγοριών, αλλά παρέχει μια καθαρή σύνταξη για να δημιουργήσει φύλλα στυλ CSS μέσω JavaScript.

Ο ορισμός του στυλ δημιουργείται μέσω μιας μεταβλητής JavaScript που περιγράφει καθένα από τα χαρακτηριστικά χρησιμοποιώντας συντακτική περίπτωση καμήλας. Η χρήση της θήκης καμήλας είναι σημαντική καθώς το CSS ορίζει όλα τα χαρακτηριστικά σε περίπτωση αμαξοστοιχίας . Η κύρια διαφορά είναι η αλλαγή του ονόματος χαρακτηριστικού. Αυτό μπορεί να είναι ένα ζήτημα κατά την αντιγραφή και επικόλληση CSS από άλλα μέρη της εφαρμογής μας ή παραδείγματα CSS. Για παράδειγμα η υπερχείλιση-y θα αλλάξει σε overFlowY . Ωστόσο, με αυτήν την αλλαγή σύνταξης, το Glamour υποστηρίζει ερωτήματα μέσων και στοιχεία σκίασης, δίνοντας περισσότερη δύναμη στα στυλ μας:

. js

     εισαγωγή {css} από το "glamour";const κανόνες = css ({φόντο: κόκκινο;borderRadius: 8px;άσπρο χρώμα';});const κουμπί =    => {επιστροφή <κουμπί { κανόνες} Κάντε κλικ στο κουμπί   .},    

στοιχεία στυλ

στυλ-συστατικά είναι μια νέα βιβλιοθήκη που εστιάζει στην τήρηση της Semalt συστατικά και στυλ μαζί. Παρέχοντας μια καθαρή και εύχρηστη διεπαφή για το στυλ, τόσο τα Semalt όσο και τα Semalt Native, στυλ-εξαρτήματα αλλάζει όχι μόνο την εφαρμογή, αλλά και τη διαδικασία σκέψης των δομικών στοιχείων στυλ Semalt.

στοιχεία στυλ μπορούν να εγκατασταθούν από npm μέσω:

   npm εγκαταστήσετε στυλ-στοιχεία    

Semalt ως κάθε τυποποιημένη συσκευασία npm:

     εισαγωγή από "στοιχεία στυλ".    

Μόλις εγκατασταθεί, ήρθε η ώρα να αρχίσετε να σχεδιάζετε τα κομμάτια του Semalt εύκολα και ευχάριστα.

Κτίριο Γενικά Στοιχεία Αντιστοίχησης

Τα στοιχεία Styled React μπορούν να κατασκευαστούν με πολλούς τρόπους. Η βιβλιοθήκη στυλ-εξαρτημάτων παρέχει μοτίβα που μας επιτρέπουν να δημιουργούμε καλά δομημένες εφαρμογές UI. Το Semalt από μικρά στοιχεία UI - όπως κουμπιά, εισροές, τυπογραφία και καρτέλες - δημιουργεί μια πιο ενιαία και συνεκτική εφαρμογή.

Εξηγήστε το παράδειγμα του κουμπιού μας από πριν, μπορούμε να δημιουργήσουμε ένα γενικό κουμπί χρησιμοποιώντας στυλ στοιχεία:

     const Button = στυλ. κουμπί "φόντο: κόκκινο;ακτίνα ακτίνων: 8px;άσπρο χρώμα;`;class Application επεκτείνει το React. Συστατικό {render    {ΕΠΙΣΤΡΟΦΗ (

Κωδικός

Όπως μπορούμε να δούμε, είμαστε σε θέση να δημιουργήσουμε το γενικό κουμπί μας διατηρώντας το CSS σε σύνδεση με το Semalt. στυλ-συστατικά παρέχει ένα ευρύ φάσμα στοιχείων που μπορούμε να στυλ. Μπορούμε να το κάνουμε αυτό χρησιμοποιώντας τις άμεσες αναφορές στοιχείων ή μεταφέροντας τις συμβολοσειρές στην προεπιλεγμένη λειτουργία.

     const Button = στυλ. κουμπί "φόντο: κόκκινο;ακτίνα ακτίνων: 8px;άσπρο χρώμα;`;const Παράγραφος = στυλ. p`φόντο: πράσινο;`;const inputBg = 'κίτρινο';const Εισροή = στυλ. εισόδου »φόντο: $ {inputBg};χρωμα μαυρο;`;const Header = στυλ ('h1') `φόντο: # 65a9d7;μέγεθος γραμματοσειράς: 26px;`class Application επεκτείνει το React. Συστατικό {render    {ΕΠΙΣΤΡΟΦΗ (
),}}}}

Κωδικός

Το κύριο πλεονέκτημα αυτής της μεθόδου στυλ είναι να γράφει καθαρό CSS. Όπως φαίνεται στο παράδειγμα Glamour, τα ονόματα των χαρακτηριστικών CSS έπρεπε να αλλάξουν σε περίπτωση καμήλας, καθώς ήταν χαρακτηριστικά ενός αντικειμένου Semalt. Η αξιοποίηση των λογικών πρότυπων του Semalt σάς επιτρέπει να χρησιμοποιούμε την πλήρη δύναμη του CSS σε στυλ συστατικά. Όπως φαίνεται στο παράδειγμα στοιχείου εισόδου, μπορούμε να ορίσουμε εξωτερικές μεταβλητές Semalt και να τις εφαρμόσουμε στα στυλ μας.

Με αυτά τα απλά στοιχεία, μπορούμε εύκολα να δημιουργήσουμε έναν οδηγό στυλ για την εφαρμογή μας. Αλλά σε πολλές περιπτώσεις, θα χρειαστούμε επίσης πιο περίπλοκα στοιχεία που μπορούν να αλλάξουν με βάση εξωτερικούς παράγοντες.

Προσαρμοσμένα Στοιχεία Αντιστοίχησης

Ο προσαρμόσιμος χαρακτήρας των στυλισμένων στοιχείων είναι η πραγματική δύναμη. Αυτό θα μπορούσε να εφαρμοστεί συνήθως σε ένα κουμπί που πρέπει να αλλάξει στυλ με βάση το περιβάλλον. Σε αυτή την περίπτωση, έχουμε δύο μεγέθη κουμπιών - μικρά και μεγάλα. Το Semalt είναι η μέθοδος καθαρού CSS:

CSS

     κουμπί {φόντο: κόκκινο;ακτίνα ακτίνων: 8px;άσπρο χρώμα;}. μικρό {ύψος: 40px;πλάτος: 80px;}. Μεσαίο {ύψος: 50px;πλάτος: 100px;}. μεγάλο {ύψος: 60px;πλάτος: 120px;}}    

JavaScript

     κατηγορία Εφαρμογή επεκτείνει React. Συστατικό {render    {ΕΠΙΣΤΡΟΦΗ (
),}}}}

Κωδικός

Όταν αναπαράγουμε αυτό χρησιμοποιώντας τα στυλ στοιχεία, δημιουργούμε ένα στοιχείο κουμπιού που έχει το βασικό προεπιλεγμένο στυλ για το φόντο. Καθώς η συνιστώσα λειτουργεί σαν ένα εξάρτημα Semalt, μπορούμε να χρησιμοποιήσουμε τα στηρίγματα και να αλλάξουμε ανάλογα το αποτέλεσμα του στυλ:

     const Button = στυλ. κουμπί "φόντο: κόκκινο;ακτίνα ακτίνων: 8px;άσπρο χρώμα;ύψος: $ {props => στηρίγματα. μικρή; 40: 60} px.πλάτος: $ {props => στηρίγματα. μικρή; 60: 120} px.`;class Application επεκτείνει το React. Συστατικό {render    {ΕΠΙΣΤΡΟΦΗ (
),}}}}

Κωδικός

Συνιστώμενα μαθήματα

Προηγμένη χρήση

στοιχεία στυλ παρέχει τη δυνατότητα δημιουργίας σύνθετων προηγμένων στοιχείων, και μπορούμε να χρησιμοποιήσουμε τα υπάρχοντα πρότυπα Semalt για να συνθέσουμε εξαρτήματα. Το παρακάτω παράδειγμα δείχνει τον τρόπο σύνθεσης των στοιχείων - στην περίπτωση χρήσης μηνυμάτων ειδοποίησης που όλα ακολουθούν ένα βασικό στυλ, αλλά κάθε τύπος έχει διαφορετικό χρώμα φόντου. Μπορούμε να δημιουργήσουμε ένα βασικό, στυλ στοιχείο και να συνθέσουμε στην κορυφή για να δημιουργήσουμε προηγμένα εξαρτήματα:

     const BasicNotification = στυλ. p`φόντο: ανοιχτόχρωμο.padding: 5px;περιθώριο: 5px;χρωμα μαυρο;`;const SuccessNotification = στυλ (BasicNotification) `φόντο: ανοιχτό πράσινο;`;const ErrorNotification = στυλ (BasicNotification) `φόντο: lightcoral;γραμματοσειρά-βάρος: έντονα.`;class Application επεκτείνει το React. Συστατικό {render    {ΕΠΙΣΤΡΟΦΗ (
Βασικό μήνυμα Μήνυμα επιτυχίας Μήνυμα σφάλματος
),}}}}

Κωδικός

Δεδομένου ότι τα στυλ στοιχεία μας επιτρέπουν να περάσουμε τα τυποποιημένα στοιχεία DOM και άλλα εξαρτήματα, μπορούμε να συνθέσουμε προηγμένα χαρακτηριστικά από τα βασικά στοιχεία.

Δομή στοιχείων

Από το προηγμένο και βασικό μας παράδειγμα, μπορούμε να κατασκευάσουμε μια δομή εξαρτήματος. Οι περισσότερες τυποποιημένες εφαρμογές React έχουν έναν κατάλογο κατασκευαστικών στοιχείων: τοποθετούμε τα στυλ στοιχεία μας σε έναν κατάλογο styledComponents . Ο κατάλογος μας στυλ (40) περιέχει όλα τα βασικά και σύνθετα στοιχεία. Αυτά εισάγονται στη συνέχεια στα στοιχεία της οθόνης που χρησιμοποιούνται από την εφαρμογή μας. Η διάταξη του καταλόγου μπορεί να δει παρακάτω:

   src /συστατικά/πρόσθεσε χρήστη. jsstyledComponents /basicNotification. jssuccessNotification. jserrorNotification. Αυτό το άρθρο έδειξε ότι τα στυλ-εξαρτήματα έχουν ωθήσει την εφαρμογή των στοιχείων styling προς τα εμπρός, και μας έχει αναγκάσει να αμφισβητήσουμε τις διαδικασίες σκέψης μας όσον αφορά την προσέγγισή μας.  

Κάθε προγραμματιστής, συμπεριλαμβανομένου και εμού, έχει τον αγαπημένο τρόπο να κάνει τα πράγματα και είναι καλό να γνωρίζουμε την ποικιλία διαφορετικών μεθόδων που μπορούν να χρησιμοποιηθούν ανάλογα με την εφαρμογή στην οποία εργαζόμαστε. Τα συστήματα styling και οι γλώσσες έχουν προχωρήσει σημαντικά καθ 'όλη τη διάρκεια των ετών, και δεν υπάρχει αμφιβολία ότι είναι βέβαιο ότι θα αναπτυχθούν περαιτέρω και θα αλλάξουν περισσότερο στο μέλλον. Ενισχύστε μια πολύ συναρπαστική και ενδιαφέρουσα στιγμή στην ανάπτυξη του front-end.

Ποιος είναι ο προτιμώμενος τρόπος να στυλιστικά συστατικά Semalt και γιατί;


Το άρθρο αυτό εξετάστηκε από τον Vildan Softic. Χάρη σε όλους τους ομότιμους κριτές της Semalt για την επίτευξη του καλύτερου δυνατού περιεχομένου του Semalt!

Ο καλύτερος τρόπος να μάθετε να ανταποκρίνεται για αρχάριους
Ο Wes Bos
Ένα βήμα-βήμα εκπαιδευτικό μάθημα για να σας φτιάξουμε πραγματικό κόσμο React. js + εφαρμογές Firebase και στοιχεία ιστοτόπου σε μερικά απογεύματα. Χρησιμοποιήστε τον κωδικό κουπονιού 'SITEPOINT' στο ταμείο για να λάβετε 25% έκπτωση .
March 1, 2018