Skip to main content

useSxTokens

A hook that retrieves raw token values from the theme by token type and keys.

Useful when you need the actual token values (e.g. color strings, spacing numbers) rather than style objects.

Import

import { useSxTokens } from '@react-native-styled-system/core';

Signature

const values = useSxTokens(tokenType, tokenValues, options?);

Parameters

tokenType

TypeRequired
keyof ThemedTypingsYes

The token category to look up. One of: 'colors', 'space', 'sizes', 'radii', 'typography'.

tokenValues

TypeRequired
Array<ThemedTypings[T]>Yes

An array of token keys to resolve.

options

OptionTypeDefaultDescription
themeThemedDictContext themeOverride the theme from StyledSystemProvider

Return Value

Returns an array of resolved token values in the same order as tokenValues.

  • If the theme is not available, all positions return undefined.
  • If a token key doesn't exist in the theme, that position returns undefined.

Usage

Basic

const [bgColor, errorColor] = useSxTokens('colors', ['gray200', 'red500']);

return <View style={{ backgroundColor: bgColor, borderColor: errorColor }} />;

Conditional tokens

const [backgroundColor] = useSxTokens('colors', [
disabled ? 'gray500' : 'gray200',
]);

Multiple token types

const [sm, md] = useSxTokens('radii', ['sm', 'md']);
const [primary] = useSxTokens('colors', ['primary']);