1. Inline-StileVorteile: Diese Methode ist relativ einfach und klar und fügt dem Tag Stilattribute hinzu. Nachteile: Diese Methode kann dazu führen, dass die Projektstruktur aufgebläht wird und CSS-Benennungskonflikte auftreten. importiere React, {Komponente} von 'react' Importiere PropTypes aus „Prop-Types“ exportiere Standardklassenindex erweitert Komponente { statische Eigenschaftentypen = { Titel: PropTypes.string } rendern() { const h1Style={textAlign:'center',marginBottom:'20px',lineHeight:'35px', Höhe:'30px'} const {title} = diese.props zurückkehren ( <div> <h1 style={h1Style}>{Titel}</h1> <hr/> </div> ) } } 2. Importmethode verwendenVorteile: Diese Methode ist flexibler zu verwenden, ähnlich der externen Einführung in CSS Nachteile: Da der Reaktionsstil standardmäßig global ist, kann es zu Stilkonflikten kommen Verwendung: Erstellen Sie eine neue CSS-Datei, legen Sie den Klassennamen über das className-Attribut in der JSX-Syntax fest und verwenden Sie den Klassennamen in CSS. Diese Methode kann einen ternären Ausdruck verwenden, um den Klassennamen durch Definieren einer Variablen auszuwählen. importiere React, {Komponente} von 'react' importiere "./index.css" exportiere Standardklassenindex erweitert Komponente { Zustand={ Flagge: wahr } Farbe ändern=()=>{ this.setState((Zustand, Eigenschaften)=>{ zurückkehren { Flagge:!Staat.Flagge } }) } rendern() { const {flag}=dieser.Zustand zurückkehren ( <div> <h1 className={flag?'blueColor':'redColor'}>Warten Sie nicht, bis Ihre Haare grau werden</h1> <button onClick={this.changeColor} className="btnStyle">Klicken, um die Schriftfarbe zu ändern</button> </div> ) } } .blaueFarbe{ Farbe: blau; } .roteFarbe{ Farbe: rot; } .btnStyle{ Breite: 260px; Höhe: 50px; Hintergrundfarbe: Aqua; Farbe: #fff; Rand: keiner; Schriftgröße: 28px; Rahmenradius: 10px; } 3. CSS-Modul-ExportVorteile: Keine Namenskonflikte, Stile sind nur lokal gültig Nachteile: Zu umständlich, Module müssen jedes Mal importiert und exportiert werden, was gleichbedeutend damit ist, alle CSS-Klassennamen als Attribute eines Objekts zu behandeln. Wenn das Objektattribut benötigt wird, wird der Klassenname durch Aufrufen des Objektattributs aufgerufen. Die Möglichkeit, CSS-Konflikte zu lösen, besteht darin, verschiedenen Klassennamen Präfixe hinzuzufügen, ähnlich wie beim Festlegen von Modulen für den Stil in Vue. verwenden:
importiere React, {FC,useState} von "react" importiere Cmittem von "@/components1/cmittem" importiere cssObj aus "./cmtlist.module.scss" const Cmtlist:FC<{}>=(props)=>{ zurückkehren ( <div> <h1 className={cssObj.title}>Kommentareliste</h1> </div> ) } Standard-Befehlsliste exportieren 4. Verwenden Sie gestaltete KomponentenVorteile: Die Kombination aus Template-String-Tag + Style ist eine Komponente, die mit einem Großbuchstaben beginnt. Man kann beispielsweise sagen, dass sie einige der beliebtesten Schreibmethoden in der React-Entwicklung integriert. Für React-Entwickler ist dies ein sehr guter Einstieg. Daher haben verschiedene Entwickler bei React-Komponenten unterschiedliche Gewohnheiten hinsichtlich der Verwendung von externem CSS oder Komponenten-CSS. verwenden: Es müssen Styled-Components installiert werden npm i styled-components oder yarn add styled-components vscode-Installations-Plugin zum einfachen Schreiben 4.1 Inbetriebnahmeimportiere 'antd/dist/antd.less' Importieren Sie Stile aus „Stilkomponenten“. Funktion App() { const HomeWrapper = styled.div` Schriftgröße: 50px; Farbe: rot; Spanne{ Farbe: orange; &.aktiv{ Farbe: grün; } &:schweben{ Farbe: blau; Schriftgröße: 40px; } &::nach{ Inhalt: „ssss“ } } ` zurückkehren ( <div Klassenname="App"> <h1>Ich bin ein Titel</h1> <HomeWrapper> <h2>Ich bin ein Untertitel</h2> <span>Karussell 1</span> <span className="active">Karussell 2</span> <span>Karussell 3</span> <span>Karussell 4</span> </HomeWrapper> </div> ); } Standard-App exportieren; 4.2 Festlegen von Attributen über attrsimportiere 'antd/dist/antd.less' Importieren Sie Stile aus „Stilkomponenten“. Funktion App() { const ChangeInput = styled.input.attrs({ Platzhalter: 'wangsu', Hintergrundfarbe: „rot“ })` Hintergrundfarbe: #7a7ab4; Farbe:${props=>props.bgColor} ` zurückkehren ( <div Klassenname="App"> <h1>Ich bin ein Titel</h1> <ChangeInput Typ="Text"/> </div> ); } Standard-App exportieren; 4.3 CSS-Vererbungimportiere React, {Komponente} von 'react' Importieren Sie Stile aus „Stilkomponenten“. const HYbutton = styled.button` Farbe: rot; Rand: 1px durchgezogen #ccc; Polsterung: 10px 20px; ` //Hier verwenden wir Vererbung const XLbutton = styled(HYbutton)` Hintergrundfarbe: blau; ` exportiere Standardklasse Button erweitert Komponente { rendern() { zurückkehren ( <div> <HYbutton>Dies ist eine Schaltfläche</HYbutton> <XLbutton>Dies ist eine geerbte Schaltfläche</XLbutton> </div> ) } } Ich verwende diese Methode in letzter Zeit bei der Entwicklung von Projekten. Sie fühlt sich sehr neuartig an. Obwohl es in der Community Meinungsverschiedenheiten gibt, gefällt mir persönlich diese Methode zum Festlegen von CSS. Ich muss die globalen Stilprobleme überhaupt nicht berücksichtigen. Oben finden Sie Einzelheiten zum eleganten Schreiben von CSS mit React. Weitere Informationen zum Schreiben von CSS mit React finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM! Das könnte Sie auch interessieren:
|
>>: Zusammenfassung gängiger SQL-Anweisungen in MySQL
Für die Installation von Docker auf CentOS muss d...
Wo liegt meine Heimatstadt, wenn ich nach Nordwes...
In diesem Artikel werden hauptsächlich die Konfig...
Inhaltsverzeichnis 1.JSON-Zeichenfolge 1.1Json-Sy...
HTML Quelltext: <a onclick="goMessage();&...
Dieses Tutorial stellt die Anwendung verschiedene...
Vorwort Normalerweise wird für MySQL-Abfragen mit...
Der MySQL DECIMAL Datentyp wird zum Speichern exa...
Inhaltsverzeichnis 1. classList-Attribut 2. Prakt...
Listen werden verwendet, um eine Reihe ähnlicher o...
Inhaltsverzeichnis Allgemeine MySQL-Funktionen 1....
2D-Transformationen in CSS ermöglichen es uns, ei...
In diesem Artikelbeispiel wird der spezifische Co...
Wenn ein Webprojekt immer größer wird, werden sei...
Ressourcenzusammenführung und -komprimierung für ...