Aller au contenu principal

ConfigProvider (configuration)

Fournit aux composants une configuration globale unifiée (taille, langue, variables de thème, liste blanche des motifs de fond).

Utilisation de base​

Taille globale et variables de thème
import { LhConfigProvider, LhButton } from '@lh-ui/react'

export default function Demo() {
return (
<>
<LhConfigProvider size="large" themeVars={{ 'primary-color': '#722ed1' }}>
<LhButton type="primary">Large global + couleur principale personnalisée</LhButton>
</LhConfigProvider>

<LhConfigProvider size="small">
<LhButton type="primary">Small global</LhButton>
</LhConfigProvider>
</>
)
}

Props​

PropDescriptionTypeValeur par défaut
sizeTaille globale'large' | 'middle' | 'small'—
localeLangue globaleLhComponentLanguage'zh-CN'
themeVarsVariables de thème globales (les clés sont sans le préfixe --lh-)Record<string, string>—
patternComponentsListe blanche des composants autorisés à afficher un motif de fondLhThemeableComponent[]—
componentThemeConfiguration distincte des variables de thème par composantPartial<Record<LhThemeableComponent, Record<string, string>>>—

Priorité des variables de thème​

props du composant lui-même > componentTheme[nom du composant] > themeVars global

Clés disponibles de themeVars​

CléDescription
primary-colorCouleur principale
success-color / warning-color / danger-color / info-colorCouleurs sémantiques
gold-color / vermilion-color / jade-colorCouleurs exclusives au style chinois
bg-color / text-color / border-colorCouleurs neutres
bg-patternURL du motif de fond (par ex. var(--lh-pattern-willow))
bg-pattern-opacity / bg-pattern-colorOpacité et couleur du motif
decoration-colorCouleur d'ornement

Pour une personnalisation complète du thème, voir Personnalisation du thème.

Lecture au sein d'un composant​

import { useLhConfigContext } from '@lh-ui/react'

function Probe() {
const { size, locale } = useLhConfigContext()
return <span>{size} / {locale}</span>
}
Valeur de repli côté consommation

En l'absence de LhConfigProvider, useLhConfigContext() renvoie un objet de repli dont tous les champs valent undefined (et non null) : aucun test de nullité n'est nécessaire dans le composant. Il s'agit d'une différence délibérée avec plus.

Styles​

import '@lh-ui/react/style/config-provider'