Skip to content

Latest commit

 

History

History
130 lines (101 loc) · 4.63 KB

share.md

File metadata and controls

130 lines (101 loc) · 4.63 KB
id title
share
Share

import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import constants from '@site/core/TabsConstants';

Example

import React from 'react';
import {Alert, Share, View, Button} from 'react-native';

const ShareExample = () => {
  const onShare = async () => {
    try {
      const result = await Share.share({
        message:
          'React Native | A framework for building native apps using React',
      });
      if (result.action === Share.sharedAction) {
        if (result.activityType) {
          // shared with activity type of result.activityType
        } else {
          // shared
        }
      } else if (result.action === Share.dismissedAction) {
        // dismissed
      }
    } catch (error) {
      Alert.alert(error.message);
    }
  };
  return (
    <View style={{marginTop: 50}}>
      <Button onPress={onShare} title="Share" />
    </View>
  );
};

export default ShareExample;
import React from 'react';
import {Alert, Share, View, Button} from 'react-native';

const ShareExample = () => {
  const onShare = async () => {
    try {
      const result = await Share.share({
        message:
          'React Native | A framework for building native apps using React',
      });
      if (result.action === Share.sharedAction) {
        if (result.activityType) {
          // shared with activity type of result.activityType
        } else {
          // shared
        }
      } else if (result.action === Share.dismissedAction) {
        // dismissed
      }
    } catch (error: any) {
      Alert.alert(error.message);
    }
  };
  return (
    <View style={{marginTop: 50}}>
      <Button onPress={onShare} title="Share" />
    </View>
  );
};

export default ShareExample;

Reference

Methods

share()

static share(content: ShareContent, options?: ShareOptions);

Open a dialog to share text content.

In iOS, returns a Promise which will be invoked with an object containing action and activityType. If the user dismissed the dialog, the Promise will still be resolved with action being Share.dismissedAction and all the other keys being undefined. Note that some share options will not appear or work on the iOS simulator.

In Android, returns a Promise which will always be resolved with action being Share.sharedAction.

Properties:

Name Type Description
content
Required
object message - a message to share
url - a URL to share
iOS

title - title of the message
Android

At least one of url and message is required.
options object dialogTitle
Android

excludedActivityTypes
iOS

subject - a subject to share via email
iOS

tintColor
iOS

anchor - the node to which the action sheet should be anchored (used for iPad)
iOS

Properties

sharedAction

static sharedAction: 'sharedAction';

The content was successfully shared.


dismissedAction
iOS

static dismissedAction: 'dismissedAction';

The dialog has been dismissed.