React Native Search

Эй, ребята !! Возможно, каждое приложение, с которым вы сталкивались, имеет это поле поиска, привязанное к прокручивающемуся контейнеру, как показано ниже:

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

Настройка React Native Project.

(Перейти к следующему разделу, если это уже сделано ..)

Перейдите по этой ссылке https://reactnative.dev/docs/environment-setup#docsNav и следуйте инструкциям по созданию нового проекта React native.

npx react-native init ReactNativeSearch

Чтобы запустить приложение, запустите npx react-native run-ios в папке проекта React Native. Откройте свой проект в VS Code и перейдите к файлу с именем App.js., удалите код под оператором return и замените его на:

return {
 <>
  <View>
  </View>
 <>
}

Вы успешно завершили создание проекта.

Приступим к созданию необходимых экранов / компонентов.

  1. Создать папку src
  2. Создайте файлы LoaderComponent.js (для наших блоков внутри ScrollView) и SearchComponent.js (для нашего поля поиска).

Теперь давайте быстро приступим к написанию кода.

Анимированный ScrollView в App.js

Итак, здесь мы создаем анимированную переменную scrollYValue и связываем ее с событием onScroll ScrollView.

Затем мы создаем зажатую прокрутку, которая является Animated.diffClamp. Чтобы узнать об этом больше, посетите https://reactnative.dev/docs/animated.html#diffclamp.

Панель поиска в SearchComponent.js

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

Некоторые строительные блоки внутри ScrollView: LoaderComponent.js

Хорошо, теперь давайте посмотрим, как это работает:

Это отлично работает !!

Используемые библиотеки:

1. React Native SVG

2. React Native Content Loader

Мы можем расширить этот компонент поиска, чтобы отображать результаты поиска. Загляните в следующий блог здесь.

Репо можно найти здесь.

Это Картик, олицетворяющий вневременной .

Если вы найдете этот пост в блоге полезным, поделитесь им с другом.

Если вы столкнетесь с какими-либо трудностями, не стесняйтесь добавлять свои комментарии.

И обязательно загляните на мой новый канал на Youtube 🎉