Indirect variables defined in Tailwind's CSS file aren't updated by VariableContextProvider when underlying variable changes
Los mantenedores suelen responder en 5 días
@danstepanov ya está trabajando en esto.
Desde el 15/7/2026.
Evaluación
Este issue todavía no se ha evaluado.
Descripción
Before submitting a new issue
- I tested using the latest version of the library, as the bug might be already fixed.
- I tested using a supported version of react native.
- I checked for possible duplicate issues, with possible answers.
Bug summary
When defined in TailwindCSS's @theme directive, if a variable depends on another's value, (for example, --color-primary: hsl(var(--primary))), updating the source variable (--primary in this example) in VariableContextProvider doesn't propagate to the derived variable (--color-primary in this example).
Library version
^3.0.0 (+ Nativewind 5.0.0-preview.1)
Environment info
System:
OS: macOS 26.0.1
CPU: (10) arm64 Apple M1 Pro
Memory: 607.86 MB / 32.00 GB
Shell:
version: "5.9"
path: /bin/zsh
Binaries:
Node:
version: 22.18.0
path: /Users/h/.nvm/versions/node/v22.18.0/bin/node
Yarn: Not Found
npm:
version: 10.9.3
path: /Users/h/.nvm/versions/node/v22.18.0/bin/npm
Watchman:
version: 2025.09.01.00
path: /opt/homebrew/bin/watchman
Managers:
CocoaPods:
version: 1.16.2
path: /opt/homebrew/bin/pod
SDKs:
iOS SDK:
Platforms:
- DriverKit 25.0
- iOS 26.0
- macOS 26.0
- tvOS 26.0
- visionOS 26.0
- watchOS 26.0
Android SDK: Not Found
IDEs:
Android Studio: Not Found
Xcode:
version: 26.0.1/17A400
path: /usr/bin/xcodebuild
Languages:
Java:
version: 21.0.8
path: /usr/bin/javac
Ruby:
version: 2.6.10
path: /usr/bin/ruby
npmPackages:
"@react-native-community/cli":
installed: 20.0.2
wanted: ^20.0.2
react:
installed: 19.1.0
wanted: 19.1.0
react-native:
installed: 0.81.4
wanted: 0.81.4
react-native-macos: Not Found
npmGlobalPackages:
"*react-native*": Not Found
Android:
hermesEnabled: Not found
newArchEnabled: Not found
iOS:
hermesEnabled: true
newArchEnabled: true
Steps to reproduce
- In your
global.cssadd:
@theme {
--color-primary: hsl(var(--primary));
}
@layer base {
:root {
--primary: 0 0% 9%;
}
}
- Then anywhere in your React Native tree:
<VariableContextProvider
value={{
'--primary': '80 76% 61%', // green
}}
>
{/* Doesn't work, renders the static `--primary` defined in global.css (`hsl(0 0% 9%)`) */}
<View className="size-10 bg-[var(--color-primary)]" />
{/* Renders green - variable is working */}
<View className="size-10 bg-[hsl(var(--primary))]" />
</VariableContextProvider>
I've tried reproducing without any values in .css, but the following won't work. That seems to be a different bug?
<VariableContextProvider
value={{
'--custom': '0 0% 9%',
'--custom-color': 'hsl(var(--custom))',
}}
>
<VariableContextProvider
value={{
'--custom': '80 76% 61%',
}}
>
{/* Doesn't work - apparently var(--color-custom) never got defined with a valid --custom value */}
<View className="size-10 bg-[var(--color-custom)]" />
{/* Works */}
<View className="size-10 bg-[hsl(var(--custom))]" />
</VariableContextProvider>
</VariableContextProvider>
Thank you for your work in this amazing library! Huge unlock being able to port a good chunk of my web skills into RN UI 😄
Reproducible example repository
https://github.com/nativewind/react-native-css/issues?q=Indirect%20variables
- Lenguaje dominante
- TypeScript
- Estrellas
- 166
- Forks
- 45
- Merge medio
- 10 d 1 h
- PR fusionados (30 d)
- 4
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de nativewind/react-native-css
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
nativewind/react-native-css#554 ·
Los mantenedores suelen responder en 5 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
nativewind/react-native-css#549 · 2 comentarios ·
Los mantenedores suelen responder en 5 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
nativewind/react-native-css#548 · 2 comentarios ·
Los mantenedores suelen responder en 5 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
nativewind/react-native-css#545 ·
Los mantenedores suelen responder en 5 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
nativewind/react-native-css#544 ·
Los mantenedores suelen responder en 5 días
Todos los issues de nativewind/react-native-css
Issues similares
-
mobile-app
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
Open-Locker/Open-Locker#352 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
leanprover-community/lean4game#589 ·
Los mantenedores suelen responder en 2 días
-
Add: CS Action BGAbiertocheck:passed streams:add
Dificultad 1/5 Menos de una hora Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 82/100
unocss/unocss#5421 · 1 comentario ·
Los mantenedores suelen responder en 1 día