36 items
Memoized List Item Still Re-renders
Code QuizDiagnosing FlatList Scroll Jank
QuizReact Native Rendering Performance Internals
Slides / VideoRendering Performance Fundamentals
FlashcardNative Driver Animation Gotcha
Code QuizNative Driver Animation Limits
QuizThree Pillars of RN Performance
FlashcardReact Native Performance Essentials
Slides / VideoNative Driver Animation Jank
Code QuizNative Driver Animations & JS Thread Jank
QuizFlatList Performance Props
FlashcardFlatList Performance Optimization
Slides / VideoKilling Jank in React Native
Slides / VideoEliminating Jank in React Native
FlashcardFlatList memoization broken by inline callback
Code QuizFlatList Re-render & Thread Optimization
QuizFlatList & Keys Performance Basics
Slides / VideoFlatList Keys for List Performance
FlashcardProfiling React Native Performance
Slides / VideoJS Thread vs UI Thread & FlatList Tuning
FlashcardFlatList Memoization Broken
Code QuizFlatList Performance Optimization
QuizReact Native Rendering Performance
Slides / VideoOptimizing FlatList & Re-renders
FlashcardFlatList vs FlashList Windowing Internals
QuizFlatList vs FlashList Virtualization
FlashcardFlatList vs FlashList Windowing Internals
Slides / VideoHermes Engine Internals Deep Dive
Slides / VideoHermes Bytecode, GC, and Startup Internals
QuizHermes Engine Internals
FlashcardProfiling Frame Drops in React Native
Slides / VideoDiagnosing UI Frame Drops in React Native
QuizProfiling Frame Drops in React Native
FlashcardReact Native Threading Model
QuizReact Native Threading Model
Slides / VideoReact Native Threading Model
FlashcardNative Driver Animation Jank
A native-driver animation silently fails because it targets an unsupported style property.
const ExpandingBox = () => {
const anim = useRef(new Animated.Value(50)).current;
useEffect(() => {
Animated.timing(anim, {
toValue: 250,
duration: 400,
useNativeDriver: true,
}).start();
}, []);
return (
<Animated.View
style={{ height: anim, width: 100, backgroundColor: 'tomato' }}
/>
);
};This animation throws/warns and doesn't run smoothly. What is the bug and how do you fix it?