Аналог input[type="file"] в React Native?

В React Native нет прямого аналога для элемента HTML input[type="file"], который позволяет выбирать файлы на устройстве пользователя. Вместо этого, для работы с файлами в React Native используются различные специализированные библиотеки и компоненты.

Одной из наиболее распространенных библиотек для работы с файлами в React Native является react-native-document-picker. Она позволяет пользователю выбирать файлы с устройства, используя различные провайдеры, такие как локальное хранилище, облачные сервисы или файловые провайдеры, такие как Google Drive или Dropbox.

Для начала работы с react-native-document-picker, вам необходимо установить эту библиотеку с помощью npm или yarn:

npm install react-native-document-picker

Затем вам также потребуется выполнить дополнительные настройки для каждой платформы, такие как настройка разрешений и добавление ваших провайдеров файлов. Конкретные инструкции по настройке вы можете найти в документации библиотеки.

После настройки вы сможете использовать компонент DocumentPicker из react-native-document-picker для открытия диалогового окна выбора файлов на устройстве пользователя. Вам придется определить типы файлов, которые пользователь может выбрать, и обработать выбранные файлы:

import DocumentPicker from 'react-native-document-picker';

// ...

// функция, вызываемая при нажатии кнопки выбора файла
const pickDocument = async () => {
  try {
    const res = await DocumentPicker.pick({
      type: [DocumentPicker.types.allFiles],
    });
    console.log(res.uri, res.type, res.name, res.size);
    // обработка выбранных файлов
  } catch (err) {
    if (DocumentPicker.isCancel(err)) {
      // пользователь отменил выбор файла
    } else {
      // произошла ошибка
    }
  }
};

// ...

// кнопка выбора файла
<Button title="Выбрать файл" onPress={pickDocument} />

Компонент DocumentPicker из библиотеки react-native-document-picker предоставляет различные параметры для настройки поведения окна выбора файлов, такие как типы файлов, которые пользователь может выбрать, максимальный размер файла и многое другое. Дополнительную информацию и примеры кода вы можете найти в документации библиотеки.

Таким образом, используя библиотеку react-native-document-picker, вы можете реализовать функциональность выбора файла на устройстве пользователя в своем приложении React Native.