Lahendatud: reageerige ruuterile staatiliste stiilide abil

Peamine probleem, mis on seotud React Routeriga staatiliste stiilide kasutamisega, on see, et erinevate marsruutide ja nendega seotud stiilide jรคlgimine vรตib olla keeruline. Staatiliste stiilide puhul peab igal marsruudil olema oma CSS-reeglite komplekt, mis vรตib kiiresti muutuda kohmakaks ja raskesti hooldatavaks. Lisaks, kui stiili kasutatakse mitmel marsruudil, tuleb see kรตigis marsruutides dubleerida, muutes koodi KUIVAS hoidmise keeruliseks (ร„ra korda ennast).

import React from 'react';
import { BrowserRouter as Router, Route, Link } from 'react-router-dom';
import styled from 'styled-components';
 
const StyledLink = styled(Link)`
  color: palevioletred;
  font-weight: bold;

  &:hover {
    color: white;
    text-decoration: none;  
  }  
`;

 const App = () => (   <Router>     <div>       <ul>         <li><StyledLink to="/">Home</StyledLink></li>         <li><StyledLink to="/about">About</StyledLink></li>       </ul>       <hr />       <Route exact path="/" component={Home} />       <Route path="/about" component={About} />     </div>   </Router>) ;

 const Home = () => (   <div>     <h2>Home</h2>   </div>) ;

 const About = () => (   <div>     <h2>About</h2>   </div>) ;

 export default App;

1. Esimene rida impordib Reacti teegi.
2. Teine rida impordib react-ruuter-dom teegist komponendid BrowserRouter, Route ja Link.
3. Kolmas rida impordib stiilitud komponendi stiilide komponentide teegist.
4. Neljas rida loob komponendi StyledLink, kasutades react-router-domist imporditud linki komponenti ja stiilib selle vรคrviga: kahvatupunane ja font-weight: paksus, samuti hรตljutusefekti, mis muudab selle vรคrvi valgeks ja eemaldab igasuguse teksti. kaunistus, kui kursor รผle hรตljub.
5. Viies rida loob rakenduse komponendi, mis renderdab ruuteri komponendi, mille sees on kaks marsruudi komponenti (รผks kodu jaoks ja teine โ€‹โ€‹teabe jaoks). Samuti renderdab see kahe lingi (Avaleht ja Teave) jรคrjestamata loendi, kasutades nende kohal 4. real loodud komponenti StyledLink, mis on stiili eesmรคrgil eraldatud hr-sildiga.
6. Read 8โ€“11 loovad kaks funktsionaalset komponenti nimega Kodu ja Teave, mis renderdavad h2 sildid koos nende vastavate nimedega, kui nende mรตlema kohal olevad 5. real olevad marsruudi komponendid seda kutsuvad (Home renderdab "Kodu" ja Teave "Teave". ).
7. Lรตpuks ekspordib rida 12 rakenduse komponendi, et seda saaks vajadusel kasutada mujal meie rakenduses

Staatilised stiilid

React Routeri staatilised stiilid on stiilid, mida rakendatakse komponendile ja mis jรครคvad samaks sรตltumata komponendi oleku vรตi rekvisiitide muudatustest. See on vastupidine dรผnaamilistele stiilidele, mis muutuvad sรตltuvalt komponendi olekust vรตi rekvisiitidest. Staatilisi stiile saab kasutada rakenduse รผhtse vรคlimuse ja tunde loomiseks ning arendajatele lihtsaks viisiks komponentide kiireks stiilimiseks, ilma et peaks neid iga kord, kui toimub muudatus, kรคsitsi kohandama.

stiililiste komponentide pakett

Stiilitud komponendid on React Routeri populaarne pakett, mis vรตimaldab arendajatel oma Reacti rakendustes komponenditaseme stiile luua ja hallata. See pakub lihtsat viisi รผhele komponendile suunatud CSS-koodi kirjutamiseks, muutes selle hooldamise ja silumise lihtsamaks. Stiilitud komponendid hรตlbustavad ka stiilide jagamist mitme komponendi vahel ning pakuvad tuge teemade kujundamisel. Lisaks saab stiilitud komponente kasutada koos React Routeri lingi komponendiga, mis vรตimaldab arendajatel oma rakenduses linke stiilida.

Kuidas kasutada staatilisi stiile

Staatilisi stiile saab kasutada React Routeris, kasutades atribuuti inline style. See atribuut vรตimaldab teil stiili otse elemendile rakendada, ilma et oleks vaja eraldi stiililehte. Staatiliste stiilide kasutamiseks React Routeris peate looma stiiliobjekti ja seejรคrel edastama selle argumendina komponendi stiilirekvisiidile. Nรคiteks:

const myStyle = {
backgroundColor: '#f2f2f2',
fondi suurus: '20px',
vรคrv: '#000'
};

Seonduvad postitused:

Jรคta kommentaar