Как отправить дату в календарь и создать там событие, через Share?

Для отправки даты в календарь и создания события через Share в React Native, вам понадобятся несколько шагов.

Шаг 1: Установка зависимостей
Вам понадобится установить два пакета: "@react-native-community/datetimepicker" и "react-native-share". Выполните следующие команды в терминале:

npm install @react-native-community/datetimepicker
npm install react-native-share

Затем выполните одну из следующих команд, в зависимости от того, используете вы Yarn или npm:

npx pod-install # если используете npm
cd ios && pod install && cd .. # если используете Yarn

Шаг 2: Импорт и настройка зависимостей
Откройте файл с вашим компонентом, в котором вы хотите добавить функционал отправки даты в календарь и создания события. Импортируйте необходимые зависимости:

import DateTimePickerModal from '@react-native-community/datetimepicker';
import {ShareCalendarEvent, Share} from 'react-native-share';

Шаг 3: Создание компонента DateTimePicker
Добавьте в ваш компонент компонент DateTimePicker, который позволит пользователю выбрать нужную дату:

const [showDatePicker, setShowDatePicker] = React.useState(false);
const [selectedDate, setSelectedDate] = React.useState(new Date());

const showDateTimePicker = () => {
  setShowDatePicker(true);
}

const hideDateTimePicker = () => {
  setShowDatePicker(false);
}

const handleDateConfirm = (date) => {
  setSelectedDate(date);
  hideDateTimePicker();
}

return (
  <View>
    <TouchableOpacity onPress={showDateTimePicker}>
      <Text>Выбрать дату</Text>
    </TouchableOpacity>

    {showDatePicker && (
      <DateTimePickerModal
        isVisible={showDatePicker}
        mode="datetime"
        onConfirm={handleDateConfirm}
        onCancel={hideDateTimePicker}
      />
    )}
  </View>
);

Шаг 4: Отправка даты в календарь и создание события
Добавьте следующую функцию в ваш компонент, которая будет вызываться при нажатии на кнопку "Отправить в календарь":

const sendToCalendar = async () => {
  const event = {
    title: 'Мероприятие',
    startDate: selectedDate.toISOString(),
    endDate: selectedDate.toISOString(),
    url: 'https://example.com', // URL, на которую пользователь будет перенаправлен после нажатия на событие в календаре
  };

  try {
    await ShareCalendarEvent(event);
  } catch (error) {
    console.error(error);
  }
}

Шаг 5: Добавление кнопки и вызов функции отправки в календарь
Добавьте следующую кнопку в ваш компонент:

<TouchableOpacity onPress={sendToCalendar}>
  <Text>Отправить в календарь</Text>
</TouchableOpacity>

После выполнения всех шагов, при нажатии на кнопку "Выбрать дату" откроется модальное окно, в котором пользователь сможет выбрать нужную дату. После выбора даты, пользователь сможет нажать на кнопку "Отправить в календарь", чтобы создать событие с выбранной датой в календаре устройства.