StyleXStyles<>
StyleXで生成されたすべてのスタイルを許可する型です。
また、スタイルを配列内にネストし、任意の深さにすることができます。さらに、常にnull
、undefined
、false
が受け入れられます。
さらに、オブジェクト型を渡してスタイルを特定のプロパティと値に制約することができます
import type {StyleXStyles} from '@stylexjs/stylex';
type Props = {
// ...
style?: StyleXStyles<{
color?: 'red' | 'blue' | 'green';
padding?: 0 | 4 | 8 | 16 | 32;
backgroundColor?: string;
borderColor?: string;
borderTopColor?: string;
borderEndColor?: string;
borderBottomColor?: string;
borderStartColor?: string;
}>;
};
オブジェクト型で定義されていないキーはすべて禁止されます。
既知のキーのみがチェックされる
TypeScriptの制限により、カスタムオブジェクト型にないキーは、内部のStyleX型で既知のスタイルプロパティの1つである場合にのみ禁止されます。
不明な追加のキーを渡しても、TypeScriptではエラーは発生しません。