Themed StyleSheets allow you to create a StyleSheet using information from a FURN theme. The resulting objects are memoized onto the Theme object itself, so if you access them again they'll be cached if the Theme hasn't changed. You can then access styles off the StyleSheet as you usually would and pass them into components as the value for a style prop.
Defining a themed StyleSheet is similar to creating a RN StyleSheet, but it takes in a theme as an arg.
// Component.styles.ts
import { themedStyleSheet } from '@fluentui-react-native/themed-stylesheet';
import { Theme } from '@fluentui-react-native/framework';
export const getThemedStyles = themedStyleSheet((theme: Theme) => {
return {
root: { minHeight: 382, paddingHorizontal: 16 },
container: { backgroundColor: theme.colors.background },
list: { flexDirection: 'row' },
content: { margin: 8 },
};
});You can use a themed StyleSheet as you would an RN StyleSheet that's generated via a function:
// Component.ts
import { getThemedStyles } from './Component.styles.ts';
import { useFluentTheme } from '@fluentui-react-native/framework';
export const Component = () => {
const styles = getThemedStyles(useFluentTheme());
return (
<View style={styles.root}>
<Text style={styles.content}>Hello World!</Text>
</View>
);
};For more detailed information, check out our README.