Изучение различных методов реализации необработанного нижнего листа в React Native

В этой статье мы рассмотрим различные методы реализации необработанного нижнего листа в React Native. Нижний лист — это популярный компонент пользовательского интерфейса, который выдвигается вверх из нижней части экрана, предоставляя пользователю дополнительный контент или параметры. Мы рассмотрим различные методы и предоставим примеры кода, которые помогут вам интегрировать необработанный нижний лист в ваши приложения React Native.

Метод 1: использование модального компонента React Native

Компонент React Native Modal предоставляет простой способ создания эффекта нижнего листа. Расположив его абсолютно внизу экрана и анимировав его высоту, мы можем добиться желаемого поведения. Вот пример:

‘flex-end’ }}>

Содержимое нижнего листа

Закрыть





);
};
экспортировать RawBottomSheet по умолчанию;

Метод 2: использование реанимированной библиотеки React Native

React Native Reanimated — мощная библиотека для создания плавной и производительной анимации в React Native. Используя переходы и обработчики жестов Reanimated, мы можем создать более интерактивный и настраиваемый нижний лист. Вот пример:

import React, { useState } from 'react';
import { View, TouchableOpacity, Text } from 'react-native';
import { Transition, Transitioning } from 'react-native-reanimated';
const RawBottomSheet = () => {
  const [isVisible, setIsVisible] = useState(false);
  const transition = (
    <Transition.Sequence>
      <Transition.Out type="fade" durationMs={200} />
      <Transition.Change interpolation="easeInOut" />
      <Transition.In type="fade" durationMs={200} />
    </Transition.Sequence>
  );
  const toggleSheet = () => {
    setIsVisible(!isVisible);
  };
  return (
    <Transitioning.View transition={transition} style={{ flex: 1 }}>
      <TouchableOpacity onPress={toggleSheet}>
        <Text>Open Bottom Sheet</Text>
      </TouchableOpacity>
      {isVisible && (
        <View style={{ backgroundColor: 'white', height: '50%' }}>
          <Text>Bottom Sheet Content</Text>
          <TouchableOpacity onPress={toggleSheet}>
            <Text>Close</Text>
          </TouchableOpacity>
        </View>
      )}
    </Transitioning.View>
  );
};
export default RawBottomSheet;

Метод 3: использование внешних библиотек

Существует несколько популярных внешних библиотек, которые упрощают реализацию нижних листов в React Native. Одной из таких библиотек является «react-native-bottom-sheet». Он предоставляет широкий спектр функций и возможностей настройки. Вот пример:

import React, { useState } from 'react';
import { TouchableOpacity, Text } from 'react-native';
import BottomSheet from 'react-native-bottom-sheet';
const RawBottomSheet = () => {
  const [isVisible, setIsVisible] = useState(false);
  const toggleSheet = () => {
    setIsVisible(!isVisible);
  };
  return (
    <>
      <TouchableOpacity onPress={toggleSheet}>
        <Text>Open Bottom Sheet</Text>
      </TouchableOpacity>
      <BottomSheet isVisible={isVisible} onBackdropPress={toggleSheet}>
        <Text>Bottom Sheet Content</Text>
        <TouchableOpacity onPress={toggleSheet}>
          <Text>Close</Text>
        </TouchableOpacity>
      </BottomSheet>
    </>
  );
};
export default RawBottomSheet;

В этой статье мы рассмотрели различные методы реализации необработанного нижнего листа в React Native. Мы рассмотрели использование модального компонента React Native, библиотеки React Native Reanimated и внешних библиотек, таких как «react-native-bottom-sheet». Каждый метод предлагает свой набор преимуществ и возможностей настройки, что позволяет вам выбрать подход, который лучше всего соответствует требованиям вашего проекта. Включив необработанный нижний лист в свои приложения React Native, вы можете улучшить взаимодействие с пользователем и обеспечить элегантный и современный пользовательский интерфейс.