Amazon Developer

as

Settings
Sign out
Notifications
Alexa
Amazon Appstore
Ring
AWS
Documentation
Support
Contact Us
My Cases
Get Started
Design and Develop
Publish
Reference
Support
Skip to main content

4.1 Remove PropTypes

React 19 removes PropTypes from the React package. All PropTypes usage must be migrated to TypeScript interfaces. Find all PropTypes usage
Migration pattern

4.2 Replace defaultProps

React 19 removes defaultProps support for function components. Use default parameter values instead. Find all defaultProps usage
Migration pattern

4.3 Replace BackHandler.removeEventListener

BackHandler.removeEventListener() was removed by React Native. Use the subscription pattern. Find all usage
Migration pattern
In a React component with useEffect

4.4 Fix useNativeDriver mixed usage

In RN 0.72, mixing native-driver and JS-driver animations was unsupported but only produced warnings. In RN 0.83, this mixing causes a fatal crash (SIGABRT). There are two rules, both enforced:
  1. Per-value: A single Animated.Value must use the same driver across all animations throughout its lifetime.
  2. Per-view (NEW): All Animated.Value instances combined into the same style object on a single Animated.View must use the same driver.
Audit your project
Files with more than two occurrences are most likely to have mixed-driver views. Example of the crash pattern
Driver usage rules
  • Native driver (useNativeDriver: true): transform, opacity. Don’t blanket-change all useNativeDriver: true to false. Only fix values where the conflict exists.
  • JS driver (useNativeDriver: false): backgroundColor, width, height, color interpolations

4.5 Update legacy Context API usage

React 19 fully removes the legacy Context API (childContextTypes, getChildContext). Use the modern Context API:

4.6 Add explicit React hook imports

If any files use hooks without importing them explicitly, they fail with ReferenceError: useState is not defined error.
Find potential issues

4.7 Remove incompatible tools

Some development tools are incompatible with React 19:
Check for any other dev dependencies that pin react@^18 as a peer dependency:

4.8 Update SafeAreaView usage

React Native 0.83 requires react-native-safe-area-context as a dependency. Update your app’s root component:

4.9 Convert layout values to density-independent pixels (DIP)

React Native 0.83 on Vega uses density-independent pixels (dp) for all layout values. The canvas reference size is 960x540 dp, which is a scale factor of 2 on 1080p displays. The framework automatically scales dp values to physical pixels. Divide all hardcoded pixel values by the scale factor, which is 2 for 1080p devices.
The unit change also affects input coordinates, custom native interfaces, and image sources. For the full guidance, see Density-Independent Pixels.
Last modified on August 4, 2026