react-native-fast-image version 3.0.0
The @amazon-devices/react-native-fast-image version 3.0.0 provides support on Vega for react-native-fast-image, which provides a performant React Native image component.
React Native's Image component handles image caching similar to browsers. If the server is returning proper cache control headers for images, you get the built-in caching behavior you see in a browser.
Others have noticed:
- Flickering.
- Cache misses.
- Low performance loading from cache.
- Low performance in general.
FastImage is an Image replacement that solves these issues on other platforms besides the Web.
This library is app-deployed and available to React Native for Vega apps without a separate installation process. The library is autolinking, which your app links to at runtime. The library is guaranteed to be compatible only with the version of React Native for Vega for which it's built.
When you uplevel your app's version of React Native for Vega, consider the best practice of upleveling its library dependencies.
Check the original library documentation for more info about this library, API reference and more here: README.md.
Installation
- Add the JavaScript library dependency in the
package.jsonfile:ß
"dependencies": { ... "@amazon-devices/react-native-fast-image": "~3.0.0" } - Reinstall dependencies using the
npm installcommand.
Examples
import FastImage from 'react-native-fast-image'
const YourImage = () => (
<FastImage
style={{ width: 200, height: 200 }}
source={{
uri: 'https://unsplash.it/400/400?image=1',
headers: { Authorization: 'someAuthToken' },
priority: FastImage.priority.normal,
}}
resizeMode={FastImage.resizeMode.contain}
/>
)
API reference
Component API
| Prop | Description | Default |
|---|---|---|
source |
Source for the remote image to load. | None |
source.uri |
Remote URL from where you load an image, for example https://facebook.github.io/react/img/logo_og.png. | None |
source.priority |
FastImage.priority.low - Low Priority FastImage.priority.normal - Normal Priority FastImage.priority.high - High Priority |
FastImage.priority.normal |
resizeMode |
FastImage.resizeMode.contain - Scale the image uniformly (maintain aspect ratio) so that width and height are equal to or less than the corresponding dimension of the view (minus padding). FastImage.resizeMode.cover - Scale the image uniformly (maintain aspect ratio) so that width and height are equal to or larger than the corresponding dimension of the view (minus padding). FastImage.resizeMode.stretch - Scale width and height independently, which might change the aspect ratio of the src. FastImage.resizeMode.center - Doesn't scale the image, keeps it centered. |
FastImage.resizeMode.cover |
onFastImageLoadStart |
Called when the image starts to load. | None |
onFastImageLoad |
Called on a successful image fetch. Called with the width and height of the loaded image. | None |
onFastImageError |
Called on an image fetching error. | None |
onFastImageLoadEnd |
Called when the image finishes loading, whether it was successful or an error. | None |
Methods
| Method | Description |
|---|---|
preLoad |
Preload images to display later. |
clearMemoryCache |
Clear all images from the memory cache. |
clearDiskCache |
Clear all images from the disk cache. |
Exceptions on Vega
The React Native for Vega library has a few exceptions in terms of API support. The following features are not supported on the Vega platform.
source.headerssource.cachetintColordefaultSourceonFastImageProgress(Has issues with the dependencyImage.onProgress.)
Backward compatibility issue
OS from the v0.12 release is not compatible with amzn/react-native-fast-image (npm package) versions <=2.0.1726598878.
When running an app on the v0.12+ OS (old version of the npm package), the app crashes on startup:
Volta:Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'FastImageTurboModule' could not be found. Verify that a module by this name is registered in the native binary.
To avoid this crash, you must rebuild it against the latest version of @amazon-devices/react-native-fast-image:
-
Check that your app’s
package.jsondoesn't hardcode an old version for fast-image.Use semvar version ^3.0.0, so that your app can pick up the latest patch.
-
Delete
package-lock.jsonto remove any locked fast-image version.You can also manually delete the entry for
@amazon-devices/react-native-fast-imageinpackage-lock.jsonif you're relying on this file to lock other dependencies. - Delete the
node_modulesfolder, so npm won’t pick up an old cached version. - Rebuild the app.
Supported versions
| Package Version | Based On | @amazon-devices/react-native-kepler version |
|---|---|---|
| 3.0.x | 8.6.3 | 2.0.x |
Additional resources
For information about other libraries, see Supported Third-Party Libraries and Services.
Last updated: Oct 03, 2025

