0
votes

ReactJS: prolonger, remplacer la classe CSS

Je veux

  1. Importer une classe de style à partir d'un fichier CSS
  2. s'étendent de manière dynamique ou remplacez le style
  3. Appliquez le nouveau style pour réagir du composant.

    pseudocode de ce que je veux atteindre xxx

    Comment puis-je faire cela?

    Mise à jour: Vérifiez ma réponse dans les réponses pour comment je l'ai enfin fait.


1 commentaires

Pourquoi n'ajoutez-vous pas une classe et basé sur cela changer le style?


3 Réponses :


1
votes

Créez simplement une nouvelle classe dans votre fichier CSS pour remplacer l'ancien CSS. Alors faites-le comme xxx


0 commentaires

0
votes

Vous ne pouvez pas définir le style dans le composant directement. Tout d'abord, vous devez transmettre le style comme support à votre composant et définir le style à l'intérieur de ce composant

<div className={this.props.your_style}>

</div>


0 commentaires

0
votes

réponse forte> (implémentation quelque peu similaire à la réponse de @ Rohan):

La classe principale code> CSS est la règle de style de base et .main. code> s'étend / le remplace. La classe code> code> CSS est appliquée sur myComponent code> initialement. Lorsque quelque chose d'Happened code> est vrai, appliquez les deux classes CSS MAIN QUESTHAPPENED CODE> TO MYCOMPONENT CODE>. P>

MYSTYLE.CSS P> xxx pré>

myComponent.js
(Utilise la bibliothèque de noms de classe. Vérifiez l'approche de Rohan pour éviter la bibliothèque de noms de classe.) P>

import 'common.css'
import classnames from 'classnames'

function MyComponent() {

    let didItHappen = ...

    return (
        <SomeComponent 
           className={classnames('main', {'somethingHappened': didItHappen})} 
        />
    )
}


0 commentaires