Comment utilisez-vous différents noms de classe dans le composant en fonction de l'itinéraire?


Elizabeth

J'ai 2 pages qui utilisent le même composant de recherche. J'aimerais que le composant de recherche soit différent en fonction de la page sur laquelle il se trouve. J'ai actuellement la classe .btn que je souhaite utiliser sur la page d'accueil mais je ne sais pas comment passer à une autre classe si elle se trouve sur la page GetWordContainer. Quelqu'un connaît-il la meilleure façon de procéder?

Partie de App.js où se trouvent les itinéraires des deux pages

 <Switch>
    <Route exact path="/" render={ routeProps => 
      <Home 
        {...routeProps} />} 
      />
    <Route exact path="/definition/:word" render={routeProps => 
      <GetWordContainer 
        {...routeProps} />} 
      />
  </Switch>

Une partie du composant de recherche - J'ai actuellement un style que je souhaite utiliser sur la page d'accueil

La recherche de classe étend le composant {

render (){
  return (
    <div>
      <button className={styles['btn']} type="submit">search</button>
    </div>
  );
}
}

export default Search;

Recherche css - c'est le style que j'ai, que je souhaite utiliser pour la page d'accueil

.btn{
    border:none;
    outline:none;
    /* display:block; */
    border-radius:50px 50px 50px 50px;
    width:200px;
    height:60px;
    font-size:30px;
    font-weight:700;
    font-family:segoe ui light;
    background-color:#CDA177;
    color:#FFFFFF;
    transition:all .5s ease-in-out;
    }
Dario Fiore

Vous pouvez écrire deux styles ou plus dans le fichier css de la barre de recherche. Ensuite, vous pouvez concevoir votre composant afin d'accepter un nouvel accessoire (comme un thème ) afin de correspondre de la bonne manière à votre style prédéfini.

<Search theme={'style-home'} />

<Search theme={'style-counter'} />

Dans votre composant:

<button className={styles[this.props.theme]} type="submit">search</button>

De cette façon, vous développerez un composant réutilisable qui ne dépendra pas des pages spécifiques de votre application (getWordContaimer, etc.)

Articles connexes


Basculer le composant en fonction de l'itinéraire Angular 4

Smokey Dawson Hé là, j'essaie d'activer et de désactiver un composant, mais je n'arrive pas à le faire fonctionner ... app.component.ts import { Component } from '@angular/core'; import { Router } from '@angular/router'; import { NgIf } from '@angular/common';