# Features | Sentry for React Native

Sentry's React Native SDK enables automatic reporting of errors and exceptions, and identifies performance issues in your application. The below, is a list of features that are available as part of this SDK.

* Automatic Native Crash [Error Tracking](https://docs.sentry.io/product/issues.md) (using both `sentry-cocoa` & `sentry-android`).

* Automatic detection of [Application Not Responding (ANR)](https://docs.sentry.io/platforms/android/configuration/app-not-respond.md) on Android and [App Hangs](https://docs.sentry.io/platforms/apple/guides/ios/configuration/app-hangs.md) on iOS.

* Offline storage of events:

  * Android: Offline caching when a device is offline; we send a report once the application is restarted.
  * iOS: Offline caching when a device is unable to connect; we send a report once we receive another event.

* Events [enriched](https://docs.sentry.io/platforms/react-native/enriching-events/context.md) with device data.

* [Source Context](https://docs.sentry.io/platforms/react-native/data-management/debug-files/source-context.md) shows snippets of your code around the location of stack frames.

* [Autolinking](https://reactnative.dev/blog/2019/07/03/version-60#native-modules-are-now-autolinked).

* [Breadcrumbs](https://docs.sentry.io/platforms/react-native/enriching-events/breadcrumbs.md) created for outgoing `http` request with XHR and Fetch; UI and system events; and console logs.

* [Release health](https://docs.sentry.io/product/releases/health.md) tracks crash free users and sessions.

* [Tracing](https://docs.sentry.io/product/insights/overview.md) creates transactions automatically for:

  * [App Start](https://docs.sentry.io/platforms/react-native/tracing/instrumentation/automatic-instrumentation.md#app-start-instrumentation) time.
  * [Routing Instrumentation](https://docs.sentry.io/platforms/react-native/tracing/instrumentation/automatic-instrumentation.md#enable-routing-instrumentation) (React Navigation v4 and above and React Native Navigation).
  * [XHR and Fetch](https://docs.sentry.io/platforms/react-native/tracing/instrumentation/automatic-instrumentation.md#fetchxml-request-instrumentation) requests.
  * [User Interaction](https://docs.sentry.io/platforms/react-native/tracing/instrumentation/user-interaction-instrumentation.md) events (touch, gesture).
  * [Slow and Frozen frames](https://docs.sentry.io/platforms/react-native/tracing/instrumentation/automatic-instrumentation.md#slow-and-frozen-frames) tracking.
  * [Stall Tracking](https://docs.sentry.io/platforms/react-native/tracing/instrumentation/automatic-instrumentation.md#stall-tracking) of the JavaScript loop.
  * [React Profiler](https://docs.sentry.io/platforms/react-native/tracing/instrumentation/automatic-instrumentation.md#react-profiler) tracks React components.

* Under the hood the SDK relies on our [JavaScript SDK](https://docs.sentry.io/platforms/javascript.md), which makes all functions available for JavaScript also available in this SDK.

* On Device symbolication for JavaScript (in Debug).

* [RAM bundle support](https://docs.sentry.io/platforms/react-native/manual-setup/ram-bundles.md).

* [Hermes support](https://docs.sentry.io/platforms/react-native/manual-setup/hermes.md).

* [Expo support](https://docs.sentry.io/platforms/react-native/manual-setup/expo.md) out of the box.

* [Attachments](https://docs.sentry.io/platforms/react-native/enriching-events/attachments.md) enrich your event by storing additional files, such as config or log files.

* [User Feedback](https://docs.sentry.io/platforms/react-native/user-feedback.md) provides the ability to collect user information when an event occurs.

* [View Hierarchy](https://docs.sentry.io/platforms/react-native/enriching-events/viewhierarchy.md) shows the structure of native components at the time an error occurred.
