3 шага для создания пользовательской карусели в React Native

Под капотом

История начинается, когда я создавал карусель в реактивном проекте для одного из моих клиентов. Я уже создал историю о том, как создать карусель в react-native, но в сегодняшней истории мы разработаем собственный компонент карусели.



Разработка карусели в React Native
Перечисление нескольких способов разработки карусели в React Native.javascript.plainenglish.io



Начиная

Библиотека, которую мы будем использовать, — это react-native-swipe-gesture для добавления жестов, таких как смахивание влево и вправо. Я использую готовый к использованию пример, который вы также можете использовать.

yarn add react-native-gesture-handler

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

Создание пользовательского компонента карусели

В корневом каталоге создайте отдельное имя папки в качестве компонентов. Эта папка компонентов состоит из повторно используемого кода или, скажем так, организмов нашего приложения.

import React from 'react';
import { View, Text} from 'react-native';
const Welcome = () => {
  return (
    <View>
      <Text>Welcome Screen</Text>
    </View>
  );
};
export default Welcome;

Логика для свайпа

Конечный продукт будет иметь 3 изображения, выровненные в виде карусели. Пользователи могут проводить пальцем влево и вправо и просматривать активное изображение или слайд. Ниже приведена логика для того же —

  • Первые все 3 изображения будут рендериться из массива объектов
  • Добавьте жест смахивания влево и вправо, чтобы изменить активный слайд
  • Мы покажем активный индикатор и неактивный индикатор
const stages = [
 {
   id: 0,
   src: require("../assets/vegetables.jpeg")
 },
 {
   id: 1,
   src: require("../assets/vegetables.jpeg")
 },
 {
   id: 2,
   src: require("../assets/breakfast.jpeg")
 }
];

Это будут данные изображений, и, используя эти данные, мы будем визуализировать только активное изображение.

const [ active, setActive ] = useState({
 id: 0,
 src: stages[0].src
});

Используя данные этапов, мы устанавливаем активное изображение карусели.

Добавление жестов смахивания

Следующая часть — добавить жесты смахивания. Если пользователь проведет пальцем влево, мы переместимся на слайд назад от активного слайда, а если пользователь проведет пальцем вправо, мы должны переместиться на один слайд вперед от активного слайда.

Добавление логики смахивания ниже

Я также добавил логику, чтобы вернуться к последнему слайду, проведя пальцем вправо от первого слайда и наоборот.

Индикатор визуализации

Это также просто, как только мы получаем активное состояние, нам просто нужно показать активный индикатор пользователю.

Конечный продукт

Это окончательный вид изделия.

Вывод

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

Код доступен по ссылке ниже.

click to read the code repository 

До следующего раза, хорошего дня, люди.

For more such stories visit our website - 💻 iHateReading

Больше читает





Больше контента на plainenglish.io