Overview
Uniwind Pro allows you to update any React Native style prop without triggering component re-renders. It leverages direct Shadow Tree updates to inject styles without waking up React. By creating a direct, optimized highway between your classNames and the native layer, we eliminate rendering lag entirely.Uniwind Pro is built on the 2nd generation Unistyles C++ engine, a new and improved version that powers the shadow tree update mechanism.
The Traditional Re-render Problem
In standard React Native, these scenarios trigger component re-renders:
This creates a cascade of re-renders through the component tree, with each component recalculating styles and passing new props down.
How Uniwind Pro Updates Views
Uniwind Pro bypasses React’s reconciliation entirely for style changes:Supported Components
The following components support shadow tree updates with no re-renders. All components supportclassName for the main style, and additional props use the {propName}ClassName pattern.
View
View
Text
Text
TextInput
TextInput
Image
Image
ImageBackground
ImageBackground
Switch
Switch
ActivityIndicator
ActivityIndicator
Modal
Modal
RefreshControl
RefreshControl
ScrollView
ScrollView
FlatList
FlatList
SectionList
SectionList
VirtualizedList
VirtualizedList
KeyboardAvoidingView
KeyboardAvoidingView
Pressable
Pressable
TouchableOpacity
TouchableOpacity
TouchableWithoutFeedback
TouchableWithoutFeedback
TouchableNativeFeedback
TouchableNativeFeedback
SafeAreaView
SafeAreaView
Components Requiring Re-renders
Some React Native components cannot use shadow tree updates due to their internal implementation:
These components use the
useResolveClassNames hook which subscribes to UniwindListener and triggers React re-renders when dependencies change.
Summary
Uniwind Pro achieves single-frame theme updates by bypassing React’s reconciliation entirely for style changes, resulting in smoother transitions and better performance.
Related
Theme Transitions
Add smooth animated transitions when switching themes
Unistyles
Learn more about the C++ engine powering Uniwind Pro