A React Native library for displaying iOS share sheets and action sheets with native UI components.
React Native Activity View is a React Native library that provides access to iOS native share sheets and action sheets. It allows React Native apps to display the standard iOS sharing interface for sharing content to various services and performing actions with native UI components. The library solves the problem of implementing iOS-native sharing functionality in cross-platform React Native applications.
React Native developers building iOS applications who need to implement native sharing functionality. This is particularly useful for developers who want their apps to have consistent iOS sharing interfaces without building custom solutions.
Developers choose React Native Activity View because it provides direct access to iOS native sharing components through a simple JavaScript API. Unlike custom implementations, it ensures consistency with iOS design patterns and includes support for all built-in sharing activities while being lightweight and easy to integrate.
iOS share and action sheets for React Native
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses UIActivityViewController to display standard iOS share sheets, ensuring a consistent, platform-native experience as emphasized in the README's philosophy.
Supports multiple content types including text, URLs, images (via URL, base64, or bundle), and files, demonstrated in the `show()` method examples.
Allows excluding specific built-in activities like AirDrop or Flickr through the `exclude` array, with detailed instructions on camelcased names from Apple's documentation.
Includes anchor positioning for proper iPad popover placement using `React.findNodeHandle`, as noted in the usage section for iPad-specific behavior.
Only supports iOS, making it useless for Android or cross-platform React Native applications, which is a major limitation not addressed in the README.
Relies on deprecated APIs like `React.createClass` and `React.findNodeHandle`, which may cause compatibility issues with modern React Native versions beyond 0.60.
Requires manual linking of native libraries, adding setup complexity compared to pure JavaScript solutions, as acknowledged in the linking instructions.