background top icon
background center wave icon
background filled rhombus icon
background two lines icon
background stroke rhombus icon

Скачать "📱 Build a Coffee Shop App using React Native ☕| Beginner | 2023"

input logo icon
"videoThumbnail 📱 Build a Coffee Shop App using React Native ☕| Beginner | 2023
Оглавление
|

Оглавление

0:00
Intro to Coffee House App
9:56
Project Setup
16:58
Dependency Installation
25:36
Assets Allocation
31:13
Data Source and Theme Setup
37:06
Custom Icon Setup
40:42
Creating Stack and Tab Navigators
1:01:48
Building Zustand Store
1:07:26
Building HomeScreen
3:20:43
Building Details Screen
4:42:55
Building Cart Screen
6:14:51
Building Favourites Screen
6:34:40
Building Payment Screen
7:30:45
Building Order History Screen Screen
8:22:57
Building Splash Screen
8:44:05
Development Completed
8:44:46
Support Me
Теги видео
|

Теги видео

react native tutorial
react native project
react native
react native coffee app tutorial
react native coffee app
react native ecommerce app
javascript
typescript
app development
react native crash course
coffee shop app
mobile app development
learn react native
react native full course
zustand
state management
react native zustand
react zustand
react native tutorial for beginners
react native for beginners
react native app
react native expo
expo sdk 49
reactnative
react
development
Субтитры
|

Субтитры

subtitles menu arrow
  • enАнглийский
Скачать
00:00:00
[Музыка]
00:00:03
привет ребята, добро пожаловать обратно на канал
00:00:05
и сегодня мы собираемся приготовить кофе
00:00:08
приложение для покупок с использованием реакции
00:00:10
родной, так что вот наш
00:00:13
приложение, поэтому сначала я пойду
00:00:17
ты через экраны и кто мы
00:00:19
собираюсь построить, так что это файл Figma
00:00:22
фигма макет приложения и первая
00:00:25
один из них — это главный экран, как вы можете видеть
00:00:27
вот это приложение и вот его дизайн
00:00:30
поэтому сначала у него будет главный экран
00:00:32
где будет этот кофе и кофе
00:00:35
список бобов, а затем после нажатия на
00:00:39
их, ты пойдешь на это, э, подробности
00:00:41
экран, чтобы экран с подробностями о бобах или кофе
00:00:43
просмотр подробностей, любой из них, хорошо, тогда
00:00:47
вот на этом экране есть два
00:00:50
Функциональность: первый из них это
00:00:53
добавить в избранное и второй
00:00:55
добавить в корзину при нажатии «Добавить в»
00:00:58
корзина здесь вы перейдете на эту карту
00:01:01
экран, так что это экран нашей карты и
00:01:03
вот как это будет выглядеть и здесь
00:01:06
вы можете настроить количество
00:01:08
количество и количество относительно
00:01:11
их размеры как маленькие, средние, большие и
00:01:15
также с граммом, так что это наша карта
00:01:19
экран, тогда если хочешь заплатить, тогда
00:01:22
если вы нажмете на эту кнопку оплаты, вы
00:01:24
перейдите на этот экран оплаты, где вы можете
00:01:26
выберите любой из них, и я
00:01:29
Выберите кредитную карту Apple pay.
00:01:33
что угодно, и тогда это наш любимый
00:01:36
экран, так что помни, здесь ты можешь добавить
00:01:40
добавить элемент в избранное, чтобы этот элемент был
00:01:44
добавил в список избранного, вот
00:01:46
наш список любимых и здесь снова, если вы
00:01:49
оплатить любым из этих методов, которые
00:01:52
Товар из корзины будет добавлен в заказ
00:01:54
история, так что это история заказов
00:01:57
экран, всего шесть экранов
00:02:00
первый — это главный экран, затем
00:02:02
второй — это экран карты, третий
00:02:05
один это любимый экран, эээ, четвёртый
00:02:07
один из них — это экран истории заказов и
00:02:09
оставшиеся два — это экраны подробностей
00:02:11
и экран оплаты, так что это наш
00:02:15
Figma макет приложения и вот
00:02:18
значки я
00:02:20
используется, и это логотип нашего приложения, так что да, мы
00:02:23
мы также добавим логотип приложения, поэтому
00:02:27
да, это наше приложение, которое вы можете увидеть здесь
00:02:30
а если нажать на этот маленький плюсик
00:02:32
кнопка также, которая также добавит этот элемент
00:02:35
в корзину, окей, и это
00:02:39
пустая корзина, поэтому, если корзина пуста
00:02:42
это будет выглядеть вот так, аналогично
00:02:45
для избранного и истории заказов, а также
00:02:48
так что да, сначала дай, а потом посмотрим
00:02:52
что такое детали, так это детали
00:02:54
экран здесь вы можете расширить
00:02:56
описание, нажав на него, а затем
00:02:59
снова снова снова ты можешь просто пойти в любой
00:03:02
другое, и это то же самое, так что да, здесь ты можешь
00:03:06
добавить товар в избранное, чтобы у меня было
00:03:09
добавил этот кофе черный кофе и ты
00:03:12
можно еще добавить фасоль
00:03:15
так что да, я добавил
00:03:19
фасоль, все в порядке, теперь наша тележка пуста
00:03:23
мы можем добавить некоторые элементы, поэтому прежде всего мы
00:03:25
можно добавлять элементы с главного экрана
00:03:30
а также главный экран, чтобы вы могли видеть
00:03:32
здесь, но также если вы зайдете внутрь, вы
00:03:36
можно выбрать элемент так
00:03:38
маленький, поэтому здесь вы можете увидеть маленький предмет
00:03:41
здесь добавлено 1 кг, поэтому добавлю
00:03:44
еще один, который весит 500 г, окей, так что это
00:03:48
это наш список корзин, которым мы можем манипулировать
00:03:52
это и вы также можете пойти отсюда тоже так
00:03:55
да, сюда можно добавить маленький и еще один
00:03:58
вещь, если вы добавите такое же количество того же самого
00:04:01
размер, это увеличит его количество, поэтому я
00:04:05
еще раз добавил маленький, вот оно и стало
00:04:07
Количество два, теперь я добавлю средний
00:04:10
вот так вот их два
00:04:13
макеты, поэтому первый из них - это три
00:04:17
э, если есть несколько размеров, то это
00:04:19
будет использоваться макет, и если есть
00:04:21
один размер, тогда этот макет будет
00:04:23
б/у так вот так и здесь тоже
00:04:27
если вы видите здесь, вот эта цена, так что
00:04:30
если вы нажмете на
00:04:32
это общая стоимость тележки
00:04:35
рассчитано на основе элементов, поэтому вот
00:04:37
вот два предмета и есть
00:04:39
соответственно не соответствует итого
00:04:41
цена, так что да, ты можешь заплатить здесь и сейчас
00:04:45
можете выбрать способ оплаты, чтобы Google
00:04:47
заплатите Apple pay и на основании этого она будет
00:04:50
измените текст здесь, заплатите, заплатите с помощью кошелька
00:04:54
заплати через Google, заплати вот так вот так
00:04:57
еще один момент, способ оплаты не является
00:04:59
точный реальный метод, это просто
00:05:03
модель трюковая, поэтому она не точная
00:05:07
актуально, так что да, теперь ты можешь выбрать любой
00:05:10
один из этих методов, нажмите на него и это
00:05:12
красивая анимация оплаты
00:05:15
успешно, а затем история заказов
00:05:17
добавлено к этому, э-э, товар в корзине
00:05:20
добавлено в историю заказов, так что это
00:05:21
наша история заказов в порядке, так что вы можете еще раз
00:05:25
перейдите к этому элементу отсюда
00:05:27
также вы можете увидеть, что это за предмет, и
00:05:31
кнопку загрузки, поэтому есть также
00:05:35
скачай анимацию типа этой, так что да
00:05:38
но на самом деле он не загружается, но
00:05:41
вы также можете сделать это для себя, например
00:05:44
он рассчитает историю заказов и
00:05:46
сделайте это в формате PDF, вы можете добавить это, если хотите
00:05:49
желаю и последнее, это самое любимое
00:05:51
экран, так что да, мы добавили этот элемент в
00:05:54
любимый экран, и если вы хотите
00:05:56
удалите тот элемент, который вам просто не нравится
00:05:59
отсюда и вы увидите список предметов
00:06:02
так это наш товар
00:06:04
список да
00:06:07
окей, вот и всё, это наше приложение, ну что-то
00:06:12
больше вещей - это эти категории, так что
00:06:14
вы можете перейти к
00:06:16
категория такой черный кофе
00:06:20
капучино
00:06:21
эспрессо, латте и майато, вот это
00:06:26
категории, которые вам нужны, и если вы хотите
00:06:30
найдите, а затем просто введите
00:06:34
эээ, набери поиск
00:06:38
ключевое слово, а затем нажмите на этот поиск
00:06:41
значок, он отобразит этот элемент, поэтому эти
00:06:44
Это предметы, но если если ты, э-э, если
00:06:48
ты напишешь там какой-то неправильный пункт, тогда это
00:06:52
покажет отсутствие кофе, так что да
00:06:54
вы можете выйти из него, нажав на Крестик
00:06:57
вот так вот да, это последнее
00:07:00
функциональность главного экрана отдельно
00:07:03
отсюда все обрабатывается с использованием
00:07:06
Состояние
00:07:07
Управление и
00:07:11
хм, и все сохраняется, даже
00:07:14
скажем так, наша корзина пуста, у меня есть
00:07:17
добавил товар в корзину и позволил
00:07:21
эээ, тогда я сейчас закрою свое приложение, хорошо
00:07:25
вы можете подумать, что данные потеряны, но
00:07:28
это не потому, что мы используем State
00:07:30
Руководство и мы P сохраняем данные
00:07:33
поэтому, если вы перейдете на экран карты, это
00:07:35
товар все еще здесь, а также заказ
00:07:37
экран истории, так что
00:07:39
еще раз я удалю это, я не
00:07:43
хочу это, поэтому я добавлю еще одно
00:07:45
нравиться
00:07:47
это я сделаю
00:07:50
плати красивой анимацией и еще раз этим
00:07:54
это наша новая история заказов, поэтому новый товар
00:07:56
добавлено вверху списка, и эти
00:07:59
это старый предмет и еще раз, если вы
00:08:02
хотелось бы скачать весь заказ
00:08:04
история и что история нового порядка будет
00:08:07
также сохраняться даже после закрытия приложения
00:08:10
так что да, это приложение Coffee House, так что
00:08:15
если вам нравится моя работа, вы можете поддержать
00:08:18
мне через купи мне кофе patreon giup
00:08:21
спонсор или даже YouTube спасибо, и если
00:08:24
ты хочешь подписаться на меня, чтобы увидеть больше такого
00:08:27
проекты, вы можете следить за мной в Твиттере
00:08:29
вы можете подписаться на меня на GitHub, вы можете
00:08:31
Следуйте за мной в Instagram, это
00:08:33
ручки, так что да, теперь мы начнем
00:08:37
создание этого приложения
00:08:39
и еще мы собираемся добавить добавить
00:08:43
эти двое
00:08:44
э-э, вещи, э-э, первое из них — это приложение
00:08:47
значок этого приложения, э-э, имя и эта заставка
00:08:51
экран, так что, если вы видите, это наш
00:08:54
заставку, которую мы также собираемся добавить
00:08:56
это нормально и самое главное
00:09:00
мы собираемся построить это
00:09:03
проект с использованием голого реактивного интерфейса командной строки и
00:09:05
не Экспо, потому что большая часть отрасли
00:09:08
стандарты чаще всего касаются реактивного CLI.
00:09:11
компаний используют реактивный CLI, а не
00:09:15
Expo, я имею в виду, что не слышал об Expo.
00:09:17
настолько, что поэтому мы собираемся
00:09:20
создайте наше приложение, используя React Native
00:09:23
CLI, окей, теперь в первую очередь я
00:09:26
удалите это приложение, и мы собираемся
00:09:28
построить все это из
00:09:30
поцарапать, но перед этим нам нужно сделать
00:09:34
некоторые настройки для начала
00:09:36
с
00:09:38
приложение, поэтому в первую очередь
00:09:40
все, это репозиторий GitHub, если вы, если
00:09:44
ты хочешь следовать за мной, ты можешь следовать за мной
00:09:46
здесь, на GitHub, и это ваш репозиторий
00:09:48
можно отметить это звездочкой
00:09:50
репо, хорошо, и теперь давайте начнем
00:09:54
сначала мы создаем наше приложение
00:09:57
нужно начать проект, поэтому перейдите в свой
00:10:01
реагировать на собственное рабочее пространство, в котором вы хотите
00:10:04
запустите проект, идите туда, запустите
00:10:08
командная строка, а затем введите npx реагирование
00:10:13
родной
00:10:16
начальный кофе
00:10:19
магазин, поэтому с помощью этой команды вы можете
00:10:23
создать стартовый проект, пустой проект
00:10:26
из реагирования на родной, так что да, это наш
00:10:29
проект нажмите Enter, э-э, он загрузится
00:10:32
шаблон и он все установит
00:10:36
необходимые зависимости, поэтому подождите
00:10:38
некоторое время, пока не наступит новое
00:10:41
проект создается до тех пор, пока он не будет
00:10:44
для начала я проведу тебя через
00:10:46
все зависимости проекта так
00:10:49
первый в порядке, так что их всего
00:10:51
три зависимости, первая из них такая
00:10:53
реагировать
00:10:55
навигация, второй, эээ
00:10:59
Элементарные зависимости, такие как размытие изображения
00:11:01
градиентные векторные иконки
00:11:05
анимации все, так что это
00:11:07
Элементарные зависимости и последняя
00:11:10
это наша зависимость от управления состоянием, которая
00:11:12
это правильная подставка, так что
00:11:16
эти три типа зависимостей
00:11:18
там прежде всего это реакция
00:11:22
навигация, итак, нам понадобится
00:11:26
два метода навигации, первый из которых
00:11:29
стековая навигация
00:11:31
так что одно важно, а другое
00:11:34
один из них — навигация по нижним вкладкам, поэтому, если вы
00:11:37
зайди в навигатор здесь ты получишь
00:11:39
увидеть собственный стек и стек на самом деле
00:11:44
собственный стек более эффективен
00:11:47
на самом деле он использует собственный API
00:11:49
Android и iOS, так что ух оно и будет
00:11:53
более оптимизированный и более быстрый, так что это
00:11:56
зачем нам понадобится местный олень и и
00:11:59
еще одна — нижние вкладки, поэтому эти четыре
00:12:02
являются зависимостями, а еще одна -
00:12:05
эти основные зависимости реакции
00:12:07
навигация так реагирует на родную и реагирует
00:12:10
навигация родная и эти две тоже но
00:12:14
для разоблачения, поэтому мы установим это
00:12:17
еще две-три зависимости, которые
00:12:20
являются
00:12:21
Зустанд
00:12:24
погружение и синхронизация
00:12:27
хранилище
00:12:31
этот
00:12:34
один, прежде всего, что такое занд, так занд
00:12:39
по сути, это библиотека управления состоянием
00:12:42
и что он делает, так это обеспечивает глобальную
00:12:45
место для приложения, ну, на любом экране
00:12:49
доступ к тому хранилищу, которое у него будет
00:12:51
согласованные данные во всем приложении
00:12:54
скажем так, наша корзина, то есть наш товар в корзине
00:12:57
будет доступен на любом экране и
00:13:01
когда мы меняем элементы карты
00:13:05
элемент, если мы добавим или удалим какой-либо элемент, он
00:13:07
отразится на всем приложении, таком полном
00:13:10
приложение будет обновлено до последних данных
00:13:13
текущие данные магазина, так что это
00:13:16
почему мы собираемся использовать эту подставку
00:13:18
это очень легкая библиотека, ага
00:13:21
легкий, быстрый и очень простой в использовании
00:13:23
используйте, если увидите документацию
00:13:26
основан на крючках, поэтому это так
00:13:29
очень легко использовать второй это
00:13:32
ИМР
00:13:33
Библиотека, поэтому эта библиотека помогает обновлять
00:13:37
глубоко вложенные объекты данных любого
00:13:41
данные магазина и что произойдет, когда
00:13:45
мы обновляем магазин, когда обновляем магазин
00:13:47
глубоко вложенные объекты не получают
00:13:50
обновился сразу оттуда, так что это
00:13:53
почему мы должны использовать этот плагин для погружения или
00:13:55
вы можете сказать, библиотека иммера, которая помогает
00:13:58
обновить
00:13:59
хранить в очень и очень глубоко вложенном
00:14:03
объект, э-э, для очень глубоко вложенных объектов
00:14:06
это правильно, так что если ты можешь пойти
00:14:09
тот
00:14:11
документацию здесь вы можете посмотреть здесь
00:14:14
это что-то вроде готового метода, вот эти
00:14:16
глубоко
00:14:18
вложенные объекты, и в нашем проекте мы
00:14:22
собираемся пойти глубже, так что это
00:14:24
почему нам понадобится эта библиотека, чтобы
00:14:27
обновить магазин на очень глубоком уровне
00:14:31
еще одна реакция - это местная задница
00:14:33
хранилище, так что эта библиотека нам поможет
00:14:36
хранить данные локально на устройстве
00:14:40
и вы увидели, что я добавил элемент в
00:14:43
корзину, а затем удалите приложение из э-э
00:14:46
RAM, поэтому даже после этого наши данные
00:14:50
был еще там, товары в корзине все еще есть
00:14:52
там и история заказов тоже была
00:14:55
вот так это только из-за этого
00:14:56
реагировать на встроенное хранилище Aing
00:14:59
это помогает нам
00:15:00
хранить данные локально на
00:15:03
устройство, и те же данные могут быть использованы
00:15:06
магазин, чтобы обновить магазин
00:15:09
предметы, поэтому эти три являются состоянием
00:15:12
Управление
00:15:15
зависимости, это реакция
00:15:17
навигация, так что это навигационные
00:15:19
зависимости и прочее являются основными
00:15:21
зависимости, такие как реагирование на нативную линейную
00:15:24
градиент, а затем отреагируйте на родное сообщество
00:15:30
размытие, реакция
00:15:33
собственные векторные иконки, а затем много реакции
00:15:38
родной, чтобы добавить
00:15:41
анимация в порядке, так что подожди немного
00:15:44
посмотрим, да, наш проект уже готов
00:15:47
завершено, так что закрой терминал
00:15:50
вот и это рабочее пространство нашего проекта
00:15:53
это корневой уровень нашего проекта, поэтому
00:15:56
откройте проект в коде vs
00:16:03
окей, теперь нам нужно добавить немного, эээ
00:16:07
модификацию кода Android, потому что
00:16:10
на самом деле мы используем наше приложение в
00:16:13
портретный режим, поэтому нам придется
00:16:16
сделайте это, зайдите в приложение Android SRC.
00:16:19
Главное, а затем Android сделать Android
00:16:22
Проявите этот XML-файл здесь, вам нужно
00:16:24
добавить свойство, которое
00:16:27
есть и
00:16:34
Ориентация экрана Android
00:16:39
равно
00:16:41
портрет, поэтому это свойство поможет
00:16:45
поместите наше приложение только в портретный режим и
00:16:47
он не будет вращаться в зависимости от вращения
00:16:49
нашего смартфона или чего-то еще, так что да, мы
00:16:53
нужно добавить это свойство, а затем закрыть
00:16:56
этот
00:16:57
один и и сейчас мы собираемся
00:17:00
установите все зависимости, поэтому сначала
00:17:03
все открываем терминал
00:17:06
Итак, сначала мы начнем с
00:17:10
реагировать
00:17:11
навигация Сначала сначала установите это
00:17:15
копировать
00:17:18
этот
00:17:20
установите это, чтобы это была реагирующая навигация
00:17:23
родной еще один — это установка npm
00:17:26
реагировать на родные экраны и восстанавливать безопасность
00:17:29
контекст области, поэтому эти два также
00:17:30
требуется и не устанавливайте этот
00:17:34
потому что это Экспо, это для Экспо
00:17:36
и мы используем собственный проект BeRea
00:17:38
не Экспо, так что с этим все в порядке
00:17:41
так что еще раз установи это
00:17:44
эти две являются собственными зависимостями, поэтому
00:17:47
вот почему нам, нам, нам это нужно
00:17:51
и еще один: мы собираемся только
00:17:54
для Android, поэтому нам придется
00:17:56
обновите класс основного класса активности, чтобы
00:17:59
это наш класс, ты можешь найти это
00:18:02
пакет здесь, поэтому нам нужно добавить этот код
00:18:05
на самом деле так скопируйте код из
00:18:09
перейдите в приложение Android SRC
00:18:14
основная Java, и здесь вы найдете основную
00:18:17
активность. Java, так что это наш основной
00:18:20
активность перейдите сюда и добавьте эту строку, которая
00:18:25
способ, которым он не рухнет, и еще кое-что
00:18:28
добавьте этот оператор импорта, поэтому скопируйте его
00:18:31
один и обязательно добавьте следующее
00:18:32
оператор импорта в верхней части файла
00:18:34
ниже вашего пакета
00:18:38
заявление
00:18:42
ниже вашего заявления о пакете, так что здесь
00:18:44
ты можешь
00:18:47
просто добавьте его чуть ниже пакета
00:18:50
заявление, но все эти эти
00:18:53
это зависимости так вверху
00:18:55
так что все в порядке, ладно, так что теперь
00:19:00
дальше эээ зайди в родной навигатора
00:19:03
куча
00:19:04
вот закрой это, окей и вот ты
00:19:07
найдет эту собственную библиотеку стека, поэтому
00:19:10
мы используем навигацию по стеку и
00:19:12
не забудьте не использовать навигацию по стеку
00:19:15
использовать только собственный стек
00:19:17
навигация, так что да, просто скопируйте
00:19:20
зависимость
00:19:21
зайди внутрь и установи
00:19:27
зависимость, так что собственный стек готов
00:19:29
теперь нам нужно установить нижние вкладки, чтобы
00:19:32
это наши нижние вкладки и это наши
00:19:37
нижние вкладки снова будут выглядеть так
00:19:41
установи это
00:19:42
один, поэтому наши навигационные зависимости
00:19:46
завершено, теперь мы перейдем к
00:19:49
элементарные зависимости, которые
00:19:51
эти эти так снова идут к этому
00:19:56
установить реакцию на родной линейный
00:20:00
градиент, затем реактивное размытие от сообщества
00:20:03
поэтому линейный градиент на самом деле используется для
00:20:05
если вы можете увидеть документацию здесь, так что
00:20:08
это линейные градиенты и есть
00:20:11
— это линейные градиенты в нашем файле Pigma
00:20:13
вот почему хорошо, тогда это
00:20:16
сообщество
00:20:17
размытие, поэтому этот пакет поможет нам добавить
00:20:21
этот эффект размытия для нашего
00:20:24
приложение, поэтому еще раз скопируйте
00:20:29
командовать и устанавливать размытие сообщества
00:20:32
еще один — это лото, реагирующее на родной язык, так что
00:20:36
еще раз просто скопируй
00:20:38
это установить, а затем вставить
00:20:41
здесь и последняя реакция
00:20:45
собственные векторные иконки, так что на самом деле у нас есть
00:20:48
скопировать это
00:20:50
здесь и не забудьте изменить наш
00:20:57
Команда
00:20:59
к этому, так что не забудьте добавить сохранение Dev
00:21:03
добавлять типы перед реактивными векторными значками
00:21:07
эээ, слэш, включая косую черту, так что это
00:21:10
потому что мы используем машинописный текст, поэтому
00:21:13
вот почему нам понадобятся типы
00:21:14
и хотел сохранить его как зависимость
00:21:17
разработка
00:21:18
зависимость, поэтому еще раз сохраните типы Dev Adate
00:21:22
ретро вектор
00:21:24
значки, вот и готов наш элемент
00:21:28
зависимости теперь также завершены
00:21:31
последние три — это установка npm
00:21:34
тот
00:21:35
встаньте, так что установите Z
00:21:40
стой тогда это
00:21:42
imer, так что установи его как
00:21:48
ну и последнее это этот рег
00:21:51
родное хранилище, поэтому у нас есть
00:21:54
опубликовано 8 дней назад
00:21:56
так себе, так это правильно
00:21:59
один, окей
00:22:02
Итак, это наши зависимости, которые
00:22:08
завершено, поэтому мы установили все
00:22:10
зависимости проекта теперь мы
00:22:12
собираемся построить наш проект или вы можете
00:22:14
скажем, запустите проект в
00:22:17
эмулятор, так что это наш
00:22:20
эмулятор, на самом деле мы создали
00:22:22
проект, но еще не начался, так что да, так что заходи
00:22:25
сначала зайдите в папку Android
00:22:29
ох, извини, мой
00:22:31
плохо и
00:22:33
затем очистите
00:22:35
проект, поэтому перед установкой любого
00:22:39
зависимости и после установки любых
00:22:42
зависимости просто очищают проект и
00:22:44
затем перезапустите его, потому что таким образом новый
00:22:48
APK-файл или новый проект будет иметь
00:22:50
новые зависимости, которые вы используете внутри
00:22:53
проект, так что скажем так, вот он
00:22:55
наше приложение, пока мы используем эти
00:22:57
зависимости, поэтому он добавит эти
00:23:00
зависимые зависимости иногда это
00:23:02
не добавляет эти зависимости
00:23:04
вот почему нам нужно убираться
00:23:06
старую сборку, а затем перестроить
00:23:09
проект с нуля
00:23:12
поэтому сначала очистите зависимости, это будет
00:23:15
потребуется несколько секунд, может быть, 10 секунд 10 20
00:23:19
секунд, поэтому подождите некоторое время, чтобы
00:23:22
инициализировать и завершить очистку
00:23:26
сборка сборка чиста, теперь можно идти
00:23:30
вернемся к проекту, так что это наш корень
00:23:33
уровень или вы можете просто создать новый
00:23:35
терминал отсюда перейдите к терминалу и
00:23:38
создавать новое
00:23:39
терминал теперь здесь, мы должны запустить
00:23:41
проект, поэтому используйте эту реакцию npm npx
00:23:48
родной запуск
00:23:52
Андроид с этой командой запустится
00:23:55
с нуля он построит все все
00:23:59
файлы пакета для
00:24:00
Android и не забудьте держать открытым
00:24:04
этот узел
00:24:13
терминал в порядке, поэтому основная проблема была
00:24:16
такая ориентация экрана Android у меня есть
00:24:18
добавил это двоеточие, поэтому удалите это двоеточие
00:24:20
вот почему из-за этого он закрывался
00:24:23
вниз, поэтому снова начните
00:24:26
проект
00:24:35
окей, наше приложение запускается сейчас, и это
00:24:38
является
00:24:39
наш пустой проект, вот как это
00:24:42
выглядит, э-э, похоже, да, ты можешь видеть
00:24:46
здесь, окей
00:24:49
поэтому еще раз не забудьте изменить свойство
00:24:53
здесь я тоже по ошибке добавил двоеточие
00:24:56
удали это и попробуй построить
00:24:58
снова теперь после этого закрой все
00:25:02
и снова нам придется удалить сборку
00:25:05
потому что нам нужно добавить больше шагов, так что
00:25:10
нам нужно добавить ресурсы, поэтому зайдите в
00:25:13
зайди в папку Android и почисти
00:25:16
и удалить старый
00:25:19
все в порядке, теперь все готово
00:25:23
теперь вот Root приложения для нашей кофейни
00:25:27
проект, так что на самом деле, прежде всего, если вы
00:25:31
зайдите на мой GitHub, это страница GitHub
00:25:35
приложения и внутри SRC
00:25:39
папка, там находится папка с этими ресурсами
00:25:41
у которых есть эти изображения, то есть
00:25:44
эта папка, в которой есть эти
00:25:47
анимации и еще одна это
00:25:50
выбор. Json, поэтому эти три
00:25:53
ресурсы необходимы эти три файла
00:25:55
необходимы
00:25:56
вот так я уже все собрал
00:25:59
эти трое, папка с активами, папка с лотами
00:26:03
и этот выбор. Json-файл и что
00:26:06
это такие изображения приложения
00:26:08
в основном это платежные активы, тогда
00:26:13
если ты видишь здесь кофе кофе Квадрат все
00:26:16
эти активы, кофейные активы и последнее
00:26:19
один из них — это шрифт, значит, это шрифт Poppins
00:26:21
а это значок приложения, так что все все
00:26:25
из них действительно важны, потому что
00:26:28
хм, что у этого будет все, хм
00:26:31
Значки SVG: пользовательские значки SVG, и если вы
00:26:34
хочу знать, как использовать собственный SVG
00:26:38
значки в React Native, я собираюсь
00:26:40
загрузите учебник, вы можете найти его на моем
00:26:43
канал и последний это этот
00:26:46
выбор. Json-файл, так что этот файл, э-э
00:26:48
этот файл также необходим, поэтому это
00:26:52
тот, ради которого мы закроем его
00:26:55
сейчас и этот, поэтому эти два файла
00:26:57
требуется для работы значков SVG, так что да
00:27:02
поэтому внутри вашего корневого проекта вы можете
00:27:06
см. здесь, создайте папку SRC
00:27:12
здесь
00:27:14
папка SRC здесь, окей, это наш SRC
00:27:19
папку, внутри которой нам нужно вставить
00:27:23
эээ, папка с ресурсами, так что скопируйте папку
00:27:26
здесь снова зайдите в папку SRC и
00:27:30
внутри этого вставьте активы
00:27:33
папку сейчас, если вы зайдете на GitHub, вы
00:27:37
также можно увидеть папку лото, так что
00:27:43
снова пойти в
00:27:45
файл здесь скопируйте лот
00:27:50
папку и вставьте ее в ресурсы
00:27:54
папка окей, так что эти три выполнены
00:27:58
завершено, последнее это
00:28:00
выбор. Json-файл, поэтому скопируйте
00:28:03
это и вставьте в корень
00:28:05
расположение проекта не внутри
00:28:09
SRC, вы можете, но вам придется изменить
00:28:11
часть, поэтому я вставляю ее правильно
00:28:14
здесь, окей
00:28:16
итак, эти двое уже готовы, окей, проверь
00:28:20
код vs и посмотрите, есть ли эти папки
00:28:23
повторил, все в порядке, да, это так
00:28:26
отлично
00:28:27
Итак, теперь нам нужно создать файл по адресу
00:28:30
корень
00:28:32
местоположение, а не внутри папки SRC
00:28:36
Итак, создайте новый файл
00:28:40
как реагировать
00:28:43
родной.
00:28:44
config.js
00:28:47
поэтому этот файл поможет добавить
00:28:50
ресурсы из нашей папки с ресурсами внутри IOS
00:28:54
и папка Android, поэтому здесь нам нужно
00:28:57
добавить добавить две три строки кода, который
00:28:59
этот модуль делает
00:29:04
экспорт, а затем нам нужно добавить
00:29:07
проекты внутри iOS, а затем
00:29:16
Андроид и откуда так надо мне
00:29:19
упомянуть актив
00:29:24
местоположение, так что это примерно семь строк
00:29:29
код, мы должны экспортировать ресурсы, которые
00:29:32
отсюда активы SRC внутрь IOS
00:29:37
и папку Android, поэтому эта конфигурация
00:29:39
требуется для нашей следующей команды, так что еще раз
00:29:41
открыть новый терминал
00:29:44
здесь и наша команда
00:29:47
NBX реагирует
00:29:50
родной актив, так что это наша команда и
00:29:54
это актив, а не актив, только актив, поэтому npx
00:29:58
реактивный
00:29:59
актив ударил команду, что он это сделает
00:30:02
скопирует все файлы ресурсов, так что оба
00:30:06
Файлы JPG и файлы ttf — оба изображения
00:30:10
активы и ресурсы шрифтов, в порядке, на самом деле
00:30:14
здесь мы по ошибке не добавили это s
00:30:17
вот почему так
00:30:20
еще раз это код здесь и сейчас ты
00:30:24
можно просто нажать эту команду еще раз
00:30:29
и да, теперь вы можете увидеть связь ttf
00:30:31
ресурсы для iOS, связывая пользовательские ресурсы с
00:30:35
iOS, а затем снова ttf на Android и
00:30:38
Ресурсы PNG для Android, поэтому эти два
00:30:41
ресурсы будут связаны внутри IOS и
00:30:43
Папка Android, так что да, я снова пропустил
00:30:46
здесь буква S, так что не забудьте добавить ее и
00:30:51
не пересылайте видео, потому что вы можете
00:30:54
пропустите конфигурацию, так что продолжайте смотреть
00:30:58
видео можно ускорить, но не делайте этого
00:31:02
пропустить
00:31:04
контент теперь наши активы связаны теперь мы
00:31:07
можно снова создать сборку, но прежде
00:31:11
что нам нужно добавить еще несколько файлов, чтобы
00:31:13
прежде всего внутри СРЦ
00:31:16
папка создать новую папку как
00:31:20
данные только данные и снова внутри SRC
00:31:23
папка создать новую папку в качестве темы
00:31:28
окей, тема с данными об активах, так что внутри
00:31:32
папка данных, нам нужно добавить два файла
00:31:36
по сути, это два файла, эээ
00:31:39
эти два файла содержат данные для нашего приложения
00:31:43
так что это просто
00:31:46
массив в порядке
00:31:48
поэтому имя файла — Coffey dat.
00:31:51
ТС вместо Тай
00:31:56
сценарий скопировать целиком
00:31:59
данные, а затем внутри папки данных
00:32:02
создать новый файл
00:32:05
как данные о кофе.
00:32:08
ТС и вставь правильно
00:32:13
вот так вот данные о кофе и здесь
00:32:17
вы можете увидеть все детали, поэтому ID-имя
00:32:21
это описание уровня обжарки
00:32:24
это ссылки на изображения, хм
00:32:28
цены на специальные ингредиенты
00:32:31
средний рейтинг рейтинг количество избранных
00:32:33
Падает любимый тип кофе и индекс
00:32:37
вот так, это индекс
00:32:39
массив, и здесь вы можете видеть, что у нас есть это
00:32:42
требуется заявление, так что на самом деле это
00:32:46
связаны с этими активами, поэтому это
00:32:49
путь, и на самом деле Ри родной не может, э-э
00:32:52
динамически находить активы, поскольку это
00:32:55
хм, потому что это влияет на комплектацию
00:32:58
вот почему нам приходится импортировать активы
00:33:00
вот так, или ты можешь использовать еще что-нибудь
00:33:04
ссылки на самом деле HTTP, но для этого требуется сеть
00:33:08
э-э, Интернет, и этот не требует
00:33:10
любой интернет, так что да, вот такие
00:33:13
поэтому они связаны таким образом, как
00:33:16
Опять квадратный портрет Квадратный портрет
00:33:19
вот так вот наши данные о кофе
00:33:22
мы собираемся добавить фасоль
00:33:25
данные
00:33:30
и здесь снова в данных
00:33:33
папка зайди в корзину для кофе и скопируй
00:33:36
эти четверо
00:33:42
предметы в порядке, так что да, это тоже
00:33:45
точно такое же содержание
00:33:49
данные изменены, вот и все
00:33:52
образы названий и всего этого, но
00:33:55
на самом деле у обоих одно и то же имя, и это
00:33:57
поможет нам
00:33:59
чтобы создать приложение больше
00:34:04
эффективно, хорошо, поэтому наша часть данных
00:34:06
также
00:34:08
на самом деле тематическая часть завершена, так что это
00:34:11
это тема. ТС, нам нужно создать
00:34:14
файл в теме.
00:34:19
ТС в папке тем как тема.
00:34:22
ТС а это темы нашего приложения
00:34:27
так что эти темы используются, потому что так
00:34:31
что мы можем создать наше приложение очень быстро и
00:34:34
на самом деле это установка
00:34:36
тот
00:34:37
приложение для подготовки данных
00:34:40
готовлю тему, эээ
00:34:42
тема эээ ценности снова готовлю
00:34:45
ресурсы из папки лото и активов, поэтому мы
00:34:49
по сути настраиваем нашу реакцию
00:34:52
проекты для начала, так что да, это
00:34:55
интерфейс, который вы можете увидеть здесь, у нас есть
00:34:56
уважаемые космические типы с а затем
00:34:59
их значения снова такие же, как и цвет
00:35:02
значения значений цвета и типы цветов одинаковы
00:35:06
для семейства шрифтов значение шрифта семейство шрифтов
00:35:09
Значения размер шрифта радиус воды все
00:35:12
так что на самом деле вы можете написать это или вы
00:35:14
могу просто скопировать, но это очень переделка
00:35:18
снова и снова, поэтому мы
00:35:20
скопируйте и вставьте его, чтобы мы завершили
00:35:24
наши активы
00:35:25
данные папки
00:35:27
анимации и
00:35:29
тема сейчас у нас есть сейчас мы собираемся
00:35:32
добавим нашу структуру папок, и теперь мы
00:35:37
добавит папку наших компонентов внутрь
00:35:39
СРЦ
00:35:41
папки, затем еще две папки, чтобы
00:35:44
первый это
00:35:46
этот экран
00:35:50
папка и еще одна это
00:35:55
Навигаторы и последний это
00:35:58
сохранить папку, так что, на самом деле, не файл
00:36:04
папка, поэтому эта папка магазина предназначена для штата
00:36:07
Библиотека управления, в которой мы разместим нашу
00:36:09
хранить здесь, внутри магазина
00:36:12
папка и да, это наша папка
00:36:14
структура нашего приложения, поэтому все это
00:36:16
все добавлено, окей, так что
00:36:23
теперь мы можем снова запустить наше приложение
00:36:27
но прежде всего закройте узел
00:36:34
сервер и технически это не будет
00:36:36
изменить что-либо на
00:36:38
экран, но нам нужно
00:36:42
поработали, поэтому снова запустите
00:36:45
терминал мы уже очистили, построим его так
00:36:48
очистить мы уже очистили предыдущее
00:36:50
построить, чтобы вы могли начать с реакции npx
00:36:53
родной запуск
00:36:55
Android запустит новый сервер и
00:36:58
он создаст все новые активы
00:37:00
все внутри нового
00:37:06
сборка в порядке, так что комплектация наших
00:37:09
заявка завершена, и вы можете увидеть
00:37:11
на экране ничего не изменилось, но сейчас
00:37:14
нам снова придется зайти внутрь этого
00:37:16
папка компонентов, это на самом деле
00:37:18
важно для
00:37:20
сейчас и создайте собственный значок.
00:37:25
ТС
00:37:28
это поможет
00:37:29
импортировать активы из нашего эээ
00:37:33
выбор. Json-файл и файл значка приложения
00:37:37
так что мы с тобой
00:37:39
может
00:37:41
создать набор значков
00:37:44
из Айома
00:37:46
Луна, да, удали это и импортируй.
00:37:50
от реакции
00:37:52
родной вектор
00:37:55
значки
00:38:03
на самом деле да, я
00:38:05
по ошибке вы можете просто создать набор значков
00:38:08
от ion да, этот метод теперь отсюда
00:38:12
мы должны
00:38:13
добавьте еще одну конфигурацию Ion, поэтому
00:38:18
импорт из МОМ
00:38:24
Конфигурация Луны от
00:38:27
у нас есть этот файл
00:38:29
как выбор. Json файл снова, который
00:38:34
находится здесь, так что у нас есть этот ввод-вывод
00:38:38
Луна
00:38:40
config, и теперь нам нужно импортировать экспорт
00:38:44
наша иконка такая
00:38:47
экспорт
00:38:49
по умолчанию создать набор значков из iom
00:38:52
луна, и мы должны упомянуть нашу конфигурацию
00:38:56
файл, вот и все, поэтому эти три строки
00:38:58
требуется использовать пользовательские ресурсы, а нет
00:39:01
пользовательские активы на самом деле пользовательские
00:39:03
значки, да, компоненты
00:39:07
папка, в которой мы создали собственный значок
00:39:10
а это
00:39:11
наш эмулятор и вы можете добавить что угодно
00:39:16
вот так чуть ниже я добавлю
00:39:20
пользовательский значок
00:39:25
здесь
00:39:28
и если вы сохраните его, подождите некоторое время
00:39:30
отразит изменения в приложении
00:39:37
сам в порядке, так что помни, что у нас есть
00:39:41
установил наш модуль здесь
00:39:43
на самом деле, но кажется, что это не так
00:39:46
не установлено, поэтому снова откройте
00:39:53
терминал просто введите реакцию вектор
00:39:56
значки
00:39:59
и по ошибке мы установили только
00:40:02
типа, но не сделал, но у нас нет
00:40:04
установил библиотеку и снова npm
00:40:08
установить реакцию на собственный вектор
00:40:10
значки, окей, так
00:40:13
да, удали это, и да, теперь ты
00:40:17
можно увидеть значок поиска, чтобы мы
00:40:19
динамически добавил эту библиотеку, поэтому я сказал
00:40:22
у тебя иногда это работает, а иногда это
00:40:24
нет, это наш значок поиска
00:40:28
здесь, и вы также можете изменить этот значок
00:40:30
к чему-то другому
00:40:32
вот так вот вот да, теперь, теперь ты
00:40:37
могу проверить, работают ли пользовательские значки
00:40:41
да, теперь следующим шагом будет создание
00:40:45
Навигатор, так что в принципе, если вы здесь
00:40:48
наша фигма
00:40:50
файл, это нижняя вкладка навигации
00:40:53
поэтому нам нужно создать это
00:40:55
один
00:40:58
этот, поэтому он должен выглядеть вот так
00:41:01
для этого требуются эти значки на этой нижней вкладке
00:41:05
Эм-м-м
00:41:06
библиотека и этот размытый вид, так что втроем, эээ
00:41:10
требуются три библиотеки, окей
00:41:13
так что сейчас мы удалим все внутри
00:41:16
приложение. TSX выбрать все
00:41:23
вот нажми, ну убери, а потом так
00:41:28
да, это ярлык для создания
00:41:31
этот
00:41:33
э-э, код начального уровня, или ты можешь сказать
00:41:36
код шаблона для нашего приложения, поэтому, когда я когда
00:41:38
вы делаете
00:41:41
это и сохраните, там будет только это
00:41:45
ценность приложения такая же, как
00:41:48
это хорошо, прежде всего нам нужно создать
00:41:52
экран, так что у нас будет общее количество
00:41:55
шесть экранов, так что внутри
00:41:58
папка экрана создать новый файл
00:42:01
как экран карты или можно сказать «домой»
00:42:08
экран делает TSX, затем восстанавливает работоспособность
00:42:13
экспорт, и эти фрагменты используются с
00:42:16
помощь расширения
00:42:19
как реагировать
00:42:25
родной
00:42:30
фрагмент, поэтому я установил это расширение
00:42:33
оба эти расширения, которые мне помогут
00:42:36
очень быстро создать этот код шаблона
00:42:39
так что да, ты тоже можешь сделать
00:42:43
итак, следующий экран — карточка
00:42:48
экран затем снова восстанавливает работоспособность
00:42:51
экспортировать это
00:42:53
это да, не забудь сбить
00:42:57
экспорт по умолчанию
00:43:00
по умолчанию, окей, теперь следующий
00:43:04
этот любимый
00:43:11
экран в порядке, так что это на самом деле
00:43:16
TSX, поэтому и показывал ошибку
00:43:19
спасибо, напечатай
00:43:22
скрипт и отключите экспорт по умолчанию
00:43:28
снова новый файл
00:43:38
как история заказов
00:43:45
скрин сейчас подробно
00:43:55
экран
00:44:00
и последний это платеж
00:44:18
экран в порядке, значит, все наши шесть экранов
00:44:21
являются
00:44:22
завершено, поэтому код шаблона
00:44:24
завершено не актуально
00:44:26
экраны и просто добавьте главный экран
00:44:31
здесь подробно
00:44:34
экран и оплата
00:44:37
экран, так что на самом деле у нас будет
00:44:41
эти три экрана внутри стека
00:44:43
Навигатор и оставшиеся четыре
00:44:47
экраны, которые будут вкладками, которые будут
00:44:50
находиться внутри вкладки «Навигатор» и этой вкладки
00:44:52
Навигатор будет добавлен в стек
00:44:54
навигатор вверху, поэтому я покажу вам, что
00:44:57
Я говорю о том, что здесь нам придется
00:44:59
создайте метод, который будет первым, что у нас есть
00:45:02
к
00:45:05
импортировать навигационный контейнер из
00:45:09
реагировать на навигацию
00:45:12
родной и снова
00:45:15
импортировать, создать собственный стек
00:45:18
Навигатор эти два метода очень
00:45:20
важно, так что да, а теперь создай
00:45:27
стопка
00:45:29
переменная создает собственный стек Navigator
00:45:32
вот да, вот и все внутри
00:45:35
навигация здесь внутри возврата возврата
00:45:38
метод удалить все и обернуть
00:45:42
внутри навигации
00:45:44
контейнер, и в нем должно быть еще несколько
00:45:47
ну, так первый из них - это эта стопка
00:45:50
Навигатор действительно стек.
00:45:54
Навигатор
00:45:58
и снова внутри этого нам понадобится
00:46:01
складывать делать
00:46:03
экран в порядке, и для него требуется кое-какой реквизит
00:46:07
так что еще раз ты можешь назвать это
00:46:12
как
00:46:15
детали, а затем компонент будет
00:46:19
экран подробностей и некоторые
00:46:23
варианты, которые будут
00:46:35
окей, это наш подробный экран
00:46:37
вообще-то и домашнего экрана не будет
00:46:41
доступно здесь, я собираюсь удалить его
00:46:43
здесь
00:46:48
на самом деле
00:46:49
и таблица стилей, да, на самом деле стиль
00:46:52
лист также не требуется, поэтому мы
00:46:55
хорошо пойти
00:46:56
теперь ты снова можешь просто скопировать это
00:47:01
один и заменить
00:47:05
подробности с другими
00:47:10
Итак, наш навигатор стека
00:47:13
завершено, но ты не видишь, как это
00:47:17
является работает, но пока мы продолжим
00:47:20
оставь все как есть, и нам снова придется
00:47:23
добавьте сюда параметры экрана
00:47:28
и установите
00:47:33
заголовок заголовок, показанный для
00:47:36
ложь, потому что нам не нужны эти данные
00:47:40
как это
00:47:41
заголовок, окей, так что да, это
00:47:45
завершено, следующим шагом будет создание
00:47:47
навигатор, поэтому внутри навигатора
00:47:50
создать новый файл как вкладку
00:47:54
Навигатор
00:47:59
Итак, вкладка «Навигатор», сделайте TSX, окей, еще раз отреагируйте
00:48:04
Экспорт функции Nity, да, вы можете сохранить
00:48:06
это правильно
00:48:08
вот и этот нам не нужен
00:48:12
по сути
00:48:15
так что удали это как
00:48:21
ну, поставь его наверх, хорошо, теперь нам нужно
00:48:25
создайте наши вкладки прямо здесь, но как мы
00:48:28
собираемся создать
00:48:29
поэтому сначала просто возьмите этот старый код
00:48:34
а затем здесь, внутри этого, импортируйте вкладку
00:48:43
Навигатор и просто продублируйте его, переименуйте.
00:48:47
это чтобы
00:48:50
вкладка вкладка
00:48:53
Навигатор, ты можешь сохранить его
00:48:56
и если вы перезагрузите приложение, вы сможете
00:48:59
нажимать
00:49:00
Вкладка R Навигатор должна быть да, так вкладка
00:49:04
Здесь виден навигатор и вкладка
00:49:07
Навигатор на самом деле не является экраном, поэтому он
00:49:09
не должен отображать это так, но
00:49:12
внутри него будет четыре экрана
00:49:15
что такое главный экран оплаты, э-э, главный экран
00:49:19
экран карты любимый экран и заказ
00:49:21
экран истории, поэтому эти четыре экрана
00:49:23
вот и они нам нужны
00:49:26
поэтому сначала просто импортируйте
00:49:29
их домой
00:49:32
экран карты экран в порядке, поэтому он не работает
00:49:36
тогда импортируйте избранное
00:49:42
экран, а затем импортируйте историю заказов
00:49:48
экран в порядке, вот эти четыре экрана
00:49:51
завершено, нам также нужно использовать пользовательский
00:49:54
значок так
00:49:56
так что собственный значок тоже
00:49:59
добавил, то удали это, оно нам не нужно
00:50:05
что существуют еще некоторые зависимости, поэтому
00:50:09
все экраны на месте, теперь нам нужно
00:50:12
создайте нашу нижнюю вкладку, чтобы для этого мы
00:50:19
нужна нижняя вкладка Навигатора вот это UT
00:50:23
также важно, а затем создайте
00:50:31
вкладка из создания нижней вкладки Навигатор и
00:50:35
во вкладке Навигатор нам предстоит импортировать
00:50:37
наша вкладка «Навигатор» вкладка «точка Навигатор» и
00:50:43
внутри этого мы
00:50:46
есть вкладка сделать
00:50:49
просмотрите этот метод, и он будет иметь
00:50:53
основное требование, например имя
00:50:56
которые будут
00:51:01
дом и
00:51:04
компонент будет нашим домом
00:51:06
экран это
00:51:09
все в порядке, теперь вы можете увидеть здесь один
00:51:12
Tab и эта панель вкладок, которые мы собираемся
00:51:15
изменить все, кроме
00:51:19
теперь нам понадобятся эти четыре
00:51:22
вкладки, и все они будут иметь разные
00:51:24
имена
00:51:26
второй — экран карты, третий
00:51:31
это любимый экран и последний
00:51:40
история, окей, теперь вы можете увидеть четверых
00:51:42
панели вкладок, но все они отображают
00:51:45
на самом деле тот же главный экран, так что мы собираемся
00:51:47
изменить компонент
00:51:51
Итак, экран карты
00:51:54
здесь
00:51:56
любимый экран
00:51:58
здесь и экран истории заказов здесь, окей
00:52:01
Итак, главный экран, затем экран карты, затем
00:52:04
любимый экран, а затем история заказов
00:52:07
экран в порядке, это наша вкладка
00:52:10
Навигатор и теперь нам придется это убрать
00:52:14
историю, поэтому в настройках навигатора вы
00:52:17
есть экран
00:52:21
варианты, и вот мы там нам придется
00:52:24
добавить этот заголовок
00:52:32
показано
00:52:34
ложь, теперь все снова в порядке, мы можем
00:52:38
добавить вкладку скрыть, чтобы всякий раз, когда мы нажимаем на любую
00:52:44
вводите э-э или всякий раз, когда клавиатура есть
00:52:49
при использовании панель вкладок будет скрыта, поэтому
00:52:52
для этого просто добавьте панель вкладок
00:52:57
спрячься на клавиатуре, так что
00:52:59
true установите значение True, хорошо, так что это
00:53:03
наш
00:53:06
варианты также мы должны удалить эти
00:53:08
домашняя этикетка
00:53:11
все для этого нам нужно
00:53:15
добавить Т
00:53:19
Барное шоу
00:53:23
ярлык и установите для него значение f
00:53:27
окей, да, теперь наши лейблы тоже
00:53:30
все в порядке, теперь наша следующая вещь - панель вкладок
00:53:35
стиль на самом деле так что в первую очередь мы
00:53:38
будет иметь эту панель вкладок
00:53:45
стиль, и он будет иметь некоторые свойства
00:53:47
как
00:53:49
высота, которая будет
00:53:52
80 позиция, поэтому мы хотели разместить ее так
00:53:56
что бы то ни было
00:53:58
содержимое под панелью вкладок, это будет
00:54:02
видно, если поставишь
00:54:05
прозрачная позиция будет
00:54:07
абсолютный
00:54:09
вот и сейчас цвет фона такой фон
00:54:13
цвет будет здесь, наша папка с цветами
00:54:17
цвета
00:54:19
точка первичный черный шестнадцатеричный первичный черный rgba
00:54:26
так что если вы зайдете внутрь этого цвета, это
00:54:29
внутри папки темы на самом деле так
00:54:31
внутри этой папки нет файла темы
00:54:33
вы увидите эти цвета, и это
00:54:35
их имена, поэтому, если вы хотите получить доступ
00:54:38
этот красный цвет, ты должен использовать этот красный
00:54:41
аналогично для оранжевого цвета, что бы это ни было
00:54:43
конфигурация в порядке, так что черный RGBA у вас
00:54:47
можно сохранить, но мы еще не добавили
00:54:50
что-нибудь, что
00:54:52
почему сейчас граница сверху
00:54:58
вес будет
00:55:02
нулевая отметка будет
00:55:06
нулевой и верхний цвет границы будет
00:55:15
прозрачный, потому что у него есть некоторые значения по умолчанию
00:55:17
стили для панели вкладок, если вы видите
00:55:20
вот так все это будет удалено
00:55:23
окей, для этого просто добавь стиль панели вкладок
00:55:28
вот это наш
00:55:30
свойство и установите стиль панели вкладок из
00:55:33
вот да, теперь ты можешь увидеть вот это
00:55:36
как это выглядит
00:55:37
типа ладно, осталось одно
00:55:41
наше размытие фона в порядке, так что подожди
00:55:47
какое-то время, окей, мы добавим это
00:55:51
сразу, чтобы добавить, что мы должны добавить
00:55:55
панель вкладок
00:55:58
фон и он принимает
00:56:02
функционировать как стрелка
00:56:06
функция и здесь нам нужно наше размытие
00:56:11
просмотреть, чтобы в нем было немного
00:56:15
цвет наложения, который будет установлен
00:56:18
к
00:56:19
пусто, потому что это необходимо, и если вы
00:56:23
не устанавливайте его, все ваше приложение будет выглядеть
00:56:26
как будто это на каком-то фоне, ну так
00:56:29
вот почему вам нужно установить наложение
00:56:31
цвет для
00:56:33
ничего, тогда вы также можете установить его на
00:56:36
прозрачный, что бы ты ни делал
00:56:39
хотелось бы, чтобы перед этим нам нужно было установить
00:56:41
степень размытия здесь на самом деле такая степень размытия
00:56:44
будет вокруг
00:56:47
15 и теперь стиль равен Стилим.
00:56:52
Стили просмотра точек BL
00:56:58
поэтому он показывает красную черточку
00:57:01
потому что мы еще не определили это, и если вы
00:57:05
сохрани, может выбросить
00:57:12
ошибка, окей, здесь просто стили
00:57:18
для размытия обзора, настолько абсолютного
00:57:22
здесь верхний ноль
00:57:26
нижний
00:57:28
ноль слева
00:57:30
ноль вправо
00:57:33
ноль, окей, так что теперь вы можете видеть это как
00:57:36
немного темнее, вот почему, окей, так
00:57:40
что бы ты ни положил под этот экран, это
00:57:42
это размоется, так что это наша вкладка
00:57:46
экранная вкладка Навигатор собственно и здесь
00:57:50
наша фоновая функциональность
00:57:53
завершено, но нам нужно добавить нашу вкладку
00:57:56
экран, поэтому нам нужно настроить наши вкладки
00:57:58
на основе
00:57:59
фокус
00:58:02
и в зависимости от состояния вкладки
00:58:05
Навигатор, так что да, мы можем добавить один
00:58:09
больше недвижимости в качестве опций и в
00:58:12
что мы можем добавить значок панели вкладок, чтобы он имел
00:58:18
некоторые свойства или реквизиты, которые вы можете
00:58:23
сказать
00:58:28
и мы собираемся использовать наш собственный значок
00:58:30
вот и имя здесь
00:58:35
размер дома будет
00:58:41
25 и цвет
00:58:49
на самом деле, если он сфокусирован, то цвет
00:58:52
будет оранжевым, но если это не так
00:59:00
сосредоточено, это будет светло-серый Хакс, так что
00:59:04
этот
00:59:05
один да, теперь ты можешь увидеть здесь, так ли это
00:59:08
сосредоточь это
00:59:10
превратим это в
00:59:13
Оранжевый, иначе он будет серым, поэтому нам нужно
00:59:16
эта опция на каждом экране, поэтому просто скопируйте
00:59:20
этот
00:59:21
один поместил это на каждый экран в
00:59:27
здесь сохрани
00:59:30
это и теперь ты можешь видеть, так что сейчас просто
00:59:33
измените значок, вот карточка
00:59:38
вот типа и вот это Белл, так что да
00:59:42
измените имя этого значка
00:59:46
так что, а также вы можете видеть, что экраны
00:59:50
меняется в зависимости от активной вкладки
00:59:53
панель ок, вкладка "Навигатор"
00:59:58
завершено и здесь ничего не осталось
01:00:01
и запомни
01:00:03
не забыть изменить этот импорт
01:00:06
заявление с этим
01:00:09
иерархия в порядке, поэтому наша панель вкладок
01:00:11
завершенный
01:00:12
теперь внутри этого приложения и
01:00:16
наша навигация по стеку уже есть
01:00:19
завершенный
01:00:21
хорошо, итак
01:00:23
сейчас
01:00:25
этот
01:00:27
это макет Figma, так что вот вам
01:00:30
вижу, мы собираемся построить дом
01:00:33
экран, затем подробности
01:00:35
экран в порядке, тогда отсюда доступ к двум
01:00:40
функциональность в пользу любого предмета
01:00:43
поставить лайк любому предмету и добавить его в
01:00:46
карта, поэтому эти две функции, поэтому
01:00:49
после этого мы добавим, что мы
01:00:51
собираюсь создать любимый экран, а затем
01:00:53
экран карты, поэтому эти два экрана экрана
01:00:55
и теперь вы можете видеть, что нас двое
01:00:59
больше экранов, который является экраном оплаты и
01:01:01
Экран истории заказов, так что в карточке
01:01:03
экран, когда вы нажимаете кнопку оплаты
01:01:05
перейдет на экран оплаты, а затем
01:01:08
он перейдет на экран истории заказов
01:01:10
так что нам придется сначала построить
01:01:14
экран оплаты, а затем нам нужно
01:01:16
создайте экран истории заказов, чтобы эти
01:01:19
это функциональные возможности
01:01:21
вообще-то, давай просто сосредоточимся на доме
01:01:23
часть экрана
01:01:29
так что удали всё, что нам только нужно
01:01:34
дом
01:01:36
скрин вот он и перед сборкой
01:01:40
главный экран, который нам понадобится
01:01:42
данные для отображения списка кофе
01:01:45
поэтому для этого нам нужно использовать магазин, поэтому
01:01:50
который находится здесь, и нам нужно
01:01:52
создайте магазин здесь и тогда, как мы
01:01:55
поскольку мы собираемся создавать экраны, мы будем
01:01:57
добавим функциональные возможности, но сейчас мы
01:02:00
собираемся добавить данные таким образом
01:02:03
будут данные, и мы сможем их использовать
01:02:06
прямо внутри нашего экрана, так что давайте
01:02:08
начал со строительства магазина, так что для
01:02:11
которые создают новый файл в качестве хранилища.
01:02:16
ТС конечно это будет машинопись
01:02:19
файл и здесь вы построите магазин так
01:02:23
первый
01:02:24
импортировать создать из
01:02:27
и мы, потому что нам нужно создать
01:02:30
хранить, то нам придется
01:02:33
импортировать метод производства из imer, потому что
01:02:37
нам нужно обновить магазин очень скоро
01:02:42
обновить магазин, который глубоко вложен
01:02:46
глубоко связанные объекты, поэтому так
01:02:49
нам снова придется
01:02:51
импортировать постоянный метод
01:03:07
теперь нам нужно импортировать асинхронный
01:03:22
такое хранилище, окей
01:03:28
окей, и здесь нам снова придется импортировать
01:03:31
данные о кофе и зернах
01:03:36
данные в порядке, так что это основной импорт
01:03:39
создать магазин, так что это значит создать
01:03:41
магазин, это обновление магазина
01:03:45
для глубоко связанных объектов это означает
01:03:49
пурист, магазин, окей, и это
01:03:51
хранилище, которое мы собираемся использовать, и эти
01:03:53
являются
01:03:55
данные в порядке, так что сначала
01:03:59
экспорт
01:04:03
использовать магазин, так что здесь есть два применения
01:04:07
магазины, поэтому первое, что мы
01:04:09
создание с использованием этой константы и второго
01:04:12
один из них - это то, что мы не делаем
01:04:15
нужен тот, который исходит от
01:04:17
zustand нам нужно только использовать использование
01:04:19
хранить внутри нашего
01:04:21
экраны так
01:04:25
создавать
01:04:26
здесь и тогда
01:04:30
упорствуйте, это будет
01:04:33
функция внутри которой будет два
01:04:36
больше функций, как установлено и получено
01:04:38
методы, и тогда он будет иметь
01:04:43
это нормально
01:04:44
поэтому он принимает два объекта, а не два
01:04:48
на самом деле два значения, поэтому имя будет
01:04:53
быть
01:04:56
приложение для кофе и еще одно
01:05:01
этот тип хранилища, поэтому хранилище будет
01:05:05
создать хранилище Json для этого
01:05:09
метод
01:05:14
и здесь нам придется пройти мимо
01:05:19
хранилище в порядке, и теперь мы не определили
01:05:22
наш магазин еще здесь, поэтому для этого у нас есть
01:05:25
к
01:05:26
делать
01:05:28
кофе
01:05:30
список из кофе
01:05:34
данные
01:05:36
окей, на самом деле это было
01:05:42
Л из Бина
01:05:46
данные вот и все, и что они делают
01:05:49
говоря, и на самом деле это не использование мы
01:05:52
я не использую ни одну из этих функций
01:05:54
думаю, именно поэтому он ведет себя так
01:05:56
все в порядке, так что мы сделаем
01:06:01
создавать
01:06:03
избранное
01:06:05
список, который будет пустым
01:06:07
массив аналогично у нас есть эта карта
01:06:13
список же пустой
01:06:15
массив, а это история заказов
01:06:21
история заказов экрана — это не экран, это
01:06:24
История заказов
01:06:27
список и последний — эта корзина
01:06:33
цена, которая сейчас будет равна нулю, так что ладно
01:06:36
Итак, список кофе Список кофейных зерен
01:06:38
список избранного список корзины история заказов
01:06:41
список и карточка
01:06:44
цена всего этого, необходимого для строительства или
01:06:47
чтобы использовать, вы можете сказать «использовать магазин», но
01:06:50
да, мы используем его вот так, вот так
01:06:52
это наше хранилище, которое мы не использовали
01:06:54
произвести метод, потому что он используется внутри
01:06:57
функции, которые изменят
01:07:00
состояние магазина, так что состояние этих
01:07:03
список кофе, список мусора, поэтому мы будем использовать его
01:07:07
когда мы покроем функциональную часть
01:07:10
но сейчас нам нужна часть данных, которая
01:07:13
показывает список, поэтому, если вы видите здесь
01:07:16
это наша консоль, можешь перезапустить
01:07:20
здесь сверните консоль
01:07:24
и внутри этого здесь мы должны использовать
01:07:27
магазин, но перед использованием магазина у нас есть
01:07:30
импортировать его
01:07:34
импортировать использовать магазин Я же говорил вам, что один из них
01:07:37
из нашего магазина, а другой из
01:07:39
подставка, поэтому не используйте ее
01:07:42
который от просто стоять, используйте его, который мы
01:07:45
построили, поэтому используйте магазин из магазина и
01:07:50
то здесь мы можем получить доступ к
01:07:58
кофе
01:08:00
список использовать магазин здесь вы можете
01:08:07
это как
01:08:13
любая кофейная карта, хорошо, так что это имя может быть
01:08:19
что-нибудь еще, но я просто использую это
01:08:22
так что это будет
01:08:24
гораздо менее запутанно, и вот, если вы
01:08:27
просто сделай консоль
01:08:31
журнал или кофе
01:08:40
список, да, ты можешь увидеть весь кофе
01:08:43
и вы можете просто изменить
01:08:46
длина, а не длина, на самом деле вы можете просто
01:08:48
посмотри длину, так что перезагрузи, да, можешь
01:08:50
см. кофейный список 18, всего их 80
01:08:54
18 предметов для кофе, которые вы можете сделать похожими
01:08:57
к The Bean, окей, эта часть раскрыта
01:09:02
теперь мы можем просто минимизировать это правильно
01:09:08
вот так просто спрячь это, оно нам не нужно
01:09:13
что нам понадобится список кофе
01:09:16
затем Бин
01:09:22
перечислите и измените здесь, а также
01:09:26
список, окей, если вы видите дизайн, то
01:09:31
после этого нам нужно проверить
01:09:34
категории на самом деле, поэтому нам придется
01:09:37
подсчитайте, какие есть категории
01:09:39
для этого мы получили мы используем
01:09:43
использовать состояние
01:09:45
поэтому категории запятая
01:09:48
набор
01:09:51
категории используют состояние из
01:09:55
реагировать, и здесь мы должны пройти
01:10:00
работает нормально, но сейчас я настраиваю его
01:10:03
как
01:10:04
неопределенный и еще один, который мы собираемся
01:10:06
нужен еще один
01:10:08
состояние, так что ищите
01:10:18
текст
01:10:19
окей, и последний — индекс категории
01:10:23
не последний, на самом деле это второй
01:10:26
последнее, так что да, нам нужно следить за
01:10:29
тот
01:10:30
категория, вот почему нам это нужно
01:10:32
категория
01:10:39
индекс и это
01:10:41
индекс будет
01:10:45
объект, который будет иметь индекс как
01:10:49
нуль
01:10:51
и категория
01:10:58
как категории нуля, но мы можем установить его
01:11:03
в качестве массива теперь все будет не в порядке, так что
01:11:06
всякий раз, когда индекс категории меняет его
01:11:09
изменю категорию
01:11:11
индекс такой и вот это имя
01:11:15
вообще-то, как бы там ни было имя, мы можем
01:11:18
установите его индекс и номер индекса как
01:11:20
ну, чтобы мы могли установить имя и его
01:11:23
ценить
01:11:25
и последний
01:11:28
наш отсортированный список
01:11:31
так что отсортировано и не в последнюю очередь
01:11:35
на самом деле все отсортировано
01:11:47
кофе, и там также будет
01:11:52
функция
01:11:54
не определено, окей, теперь это данные
01:11:58
часть у нас есть как данные, так и категории
01:12:01
нам нужно извлечь все категории
01:12:04
тогда это текст для поиска будет
01:12:06
используется внутри поиска, входного поиска
01:12:09
метод, то это индекс категории, поэтому
01:12:12
это будет
01:12:14
есть какой активный индекс и что
01:12:17
это название этой категории, эти два
01:12:19
Еще одно это сортированный кофе
01:12:22
поэтому всякий раз, когда вы нажимаете на любую категорию
01:12:25
ты увидишь новый список кофе, так что это
01:12:27
зачем нам этот сортированный кофе, окей
01:12:31
Итак, это сделано, теперь мы начнем
01:12:34
создаем эти два метода там, где нам нужно
01:12:37
чтобы извлечь категории, и нам нужно
01:12:40
установить сортировку, э-э
01:12:43
кофе, поэтому первый метод - получить
01:12:45
категории из данных, поэтому у нас есть это
01:12:48
данные списка кофе с нами, поэтому сначала мы
01:12:51
нужно получить список всех категорий
01:12:54
в этом
01:13:01
данные и здесь просто объявите
01:13:05
данные, ну, пустой массив или
01:13:10
объект, затем используя для
01:13:17
Цикл и если
01:13:22
температура
01:14:04
окей, в этой функции мы просто
01:14:07
делаем простую вещь, которой мы являемся
01:14:10
создание пустой температуры объекта, а затем
01:14:13
здесь мы проходим через каждый эээ
01:14:16
объект этой длины данных массива и в
01:14:19
что мы проверяем, есть ли данные об имени
01:14:22
этого индекса имя это имя делает
01:14:26
существуют внутри temp, поэтому, если да, то нет
01:14:30
существует, что равно неопределенному, тогда
01:14:32
то, что мы делаем, это мы
01:14:34
создание свойства с таким именем и
01:14:37
установив его значение на единицу, хорошо, но так
01:14:41
если ты перейдёшь к части данных, э-э, данные, если
01:14:44
вы видите данные, которые у нас есть это имя
01:14:48
Американо, а потом еще раз американо, так что
01:14:50
извлечь эти данные из этого
01:14:54
поэтому мы устанавливаем их ценности
01:14:55
как один, и мы просто считаем что угодно
01:14:58
это так, да, теперь ты можешь видеть, что мы, э-э
01:15:02
у нас будет температура объекта и это
01:15:06
штука в том, что он делает, это извлекает все
01:15:09
свойства из Temp и сделайте это
01:15:12
в массив, поэтому, если вы видите в
01:15:16
дизайн нашего массива будет иметь все это
01:15:20
э-э-э, строки, которые имеют свое название на языке C, так что
01:15:25
он делает это, а затем этот метод un
01:15:27
все меняется
01:15:30
категория, э-э, в начале массива, так что
01:15:33
теперь у нас есть новый массив, и вы можете
01:15:35
видите, мы возвращаем наши категории
01:15:38
вот и все, для этого нам придется
01:15:40
измените наши установленные категории, и здесь мы
01:15:43
нужно удалить этот пустой массив и вызвать
01:15:47
функция получает категории из данных
01:15:50
и нам нужно передать список кофе в качестве нашего
01:15:53
источник данных, и что он будет делать
01:15:56
функция получит список кофе и
01:15:58
тогда он получит все категории и
01:16:01
добавьте также все категории, а затем
01:16:04
верните его, чтобы наша переменная состояния
01:16:07
будет список категорий и
01:16:11
массив категорий, поэтому следующая
01:16:13
отсортировано, поэтому мы снова собираемся сделать
01:16:16
другой
01:16:17
функция добавить
01:16:20
постоянно пить кофе
01:16:24
список, вот и все, это наша функция
01:16:28
имя, а также мы должны
01:16:31
укажите, какую категорию мы хотим, так себе
01:16:35
когда мы нажимаем на любую категорию, это
01:16:38
должна отображать эту категорию
01:16:40
только так это
01:16:43
почему это наша функция и она будет
01:16:47
есть это в первую очередь, мы должны проверить
01:16:50
если категория равна
01:16:54
все, если это так, то нам придется просто вернуться
01:16:57
тот
01:16:58
данные сначала просто скопируйте
01:17:06
данные или вы можете просто вернуть их правильно
01:17:13
здесь еще, если данные, если категория
01:17:17
немного другое, тогда мы можем просто использовать это
01:17:22
один
01:17:25
э-э, метод фильтра на
01:17:31
данные и что они будут иметь
01:17:35
элемент типа
01:17:38
любой, и оттуда нам придется сравнивать
01:17:40
название товара из категории, которую мы
01:17:44
получил g r y на самом деле был
01:17:47
написание
01:17:52
ошибка
01:17:54
и да, вот и все, мы так и сделаем
01:17:57
фильтровать
01:17:58
данные, а затем вернуть кофе
01:18:02
список, это наш маленький
01:18:05
функция в порядке, так где же наша отсортированная
01:18:08
кофе здесь, так что сначала передайте данные
01:18:12
из всех пройти
01:18:14
категория, поэтому здесь нам придется пройти
01:18:17
категория
01:18:19
категория индексных точек
01:18:25
поэтому у него будет эта активная категория
01:18:27
индекс, а следующий — этот кофе
01:18:31
список, окей, так что обе наши U
01:18:36
сортированный кофе и список категорий
01:18:38
категории все созданы теперь еще одна
01:18:42
мы забыли добавить оператор импорта
01:18:46
на самом деле использовать высоту
01:18:51
используйте, э-э, используйте высоту нижней панели вкладок от
01:18:58
реакция на навигацию внизу
01:19:00
вкладки, поэтому нам понадобится вот эта
01:19:04
потому что нам нужно добавить это к приведенному ниже
01:19:08
с нашей точки зрения, так что да, установите и это
01:19:15
вот, окей, теперь наша часть данных готова
01:19:19
почти завершено. Хорошо, согласно
01:19:23
сначала дизайн, мы собираемся создать это
01:19:26
заголовок, затем этот текст и этот поиск
01:19:28
поле ввода, затем список этой категории, это
01:19:32
это скользящий список, то это
01:19:35
плоский список, это будет плоский список и
01:19:37
всего есть два типа, так что да, мы такие
01:19:40
собираюсь создать оба и все
01:19:42
главный экран, так что давайте начнем
01:19:46
вот это дизайн дома
01:19:49
экран, поэтому теперь мы создадим
01:19:54
часть дизайна, поэтому нам нужно открыть это
01:19:57
на разделенном экране и здесь вы можете увидеть
01:20:00
ячменя и здесь вы можете увидеть
01:20:04
jsx, так что да, удали это
01:20:07
один, а затем здесь мы должны добавить
01:20:11
стили стилей
01:20:15
зеленая точка
01:20:18
контейнер, а затем снова добавьте эти
01:20:21
Стили здесь
01:20:25
с гибким
01:20:27
один и цвет фона
01:20:33
как цвета, основной черный
01:20:37
Хакс, да, теперь это хорошо, и мы здесь
01:20:42
может измениться
01:20:44
строка состояния, и снова строка состояния из
01:20:48
реагировать
01:20:49
родной, если ты, ты можешь перепроверить
01:20:53
строка состояния здесь, да, вот и мы
01:20:56
можно добавить свойство в качестве фона
01:20:59
цветные цвета. первичный черный Хакс это
01:21:03
это наше сейчас так выглядит
01:21:06
бесшовно, окей
01:21:09
поэтому теперь следующая задача — добавить
01:21:14
заголовок, так что у нас есть это, но нам нужно
01:21:17
добавьте этот заголовок внутри представления прокрутки
01:21:19
потому что когда мы прокручиваем заголовок экрана
01:21:22
должен прокручиваться с помощью
01:21:25
вот так добавь вид прокрутки
01:21:30
вот так вот индикатор вертикальной прокрутки
01:21:34
равно
01:21:36
ложное право, и еще один доволен
01:21:40
контейнер
01:21:50
стиль, так что да, этот свиток Посмотреть
01:21:56
Flex, э-э, так что здесь будет только один
01:21:59
свойство, которое является гибким
01:22:03
расти нормально, так что любой контент внутри, э-э
01:22:08
вид прокрутки, если мы установим
01:22:11
его высота как Flex, он займет
01:22:14
весь экран, так что даже если мы
01:22:16
внутри прокрутки нет содержимого
01:22:18
посмотреть, это займет все пространство
01:22:22
доступно для экрана сейчас следующее
01:22:24
дело в том, что нам нужно добавить сюда заголовок
01:22:27
так что просто добавьте комментарий в заголовок приложения, который
01:22:31
все в порядке, и вот ты
01:22:34
может так снова здесь, нам придется
01:22:38
создать новый файл внутри компонента
01:22:41
что такое заголовок
01:22:47
бар и снова можно просто вернуться
01:22:51
функциональный экспорт
01:22:53
теперь опусти это
01:22:56
здесь, окей, так что это будет что-то другое
01:23:00
свойства, но прежде всего у нас есть
01:23:02
так расставить реквизит
01:23:11
первая строка заголовка
01:23:15
реквизит и таким образом мы сможем
01:23:18
определять
01:23:21
Заголовок
01:23:25
поэтому реквизит - это свойства этих
01:23:28
компонент, поэтому мы установили для него заголовок
01:23:31
что такое и поставь этот вопросительный знак
01:23:33
потому что это необязательно, вот почему
01:23:36
поэтому нам нужен только этот
01:23:44
Реквизит панели заголовка свойства, да, вот и все
01:23:48
теперь, если вы видите здесь, у нас нет
01:23:50
на самом деле использовал его, хорошо, так себе, во-первых
01:23:53
мы разработаем это или можем напрямую
01:23:56
построить это здесь
01:23:59
правый заголовок
01:24:02
бар, окей, теперь вы можете увидеть текст в
01:24:06
Черный здесь, но мы можем подождать этого, так что
01:24:09
Во-первых, нам нужно определить
01:24:11
стиль
01:24:21
здесь
01:24:22
контейнер, так что это будет очень
01:24:26
небольшой компонент, вот почему мы я
01:24:29
здесь не будет разделения экрана
01:24:32
иметь дополнение
01:24:37
лицом к пространству 30 будет
01:24:41
работай, затем сгибай
01:24:46
Направление
01:24:49
строка, потому что наш заголовок имеет форму строки
01:24:52
вот почему тогда выровняйте
01:24:57
предметы для
01:25:01
Центрировать, а затем выровнять содержимое по пространству
01:25:04
между, потому что нам нужно пустое пространство
01:25:07
между этими двумя значками и внутри этого
01:25:11
у нас есть два компонента еще два
01:25:13
компоненты, но нам нужен этот заголовок
01:25:16
текстовый компонент, так что все, что вы
01:25:19
переходим к заголовку, у нас это будет
01:25:23
и он показывает эту красную линию, потому что
01:25:24
мы не импортировали это отсюда, мы это сделали
01:25:28
покажи набор реквизитов заголовка, что что
01:25:31
это что-то вроде этого, но мы этого не сделали
01:25:34
импортировал его, поэтому нам это нужно
01:25:37
окей, вот и все, и здесь нам нужно
01:25:39
добавить заголовок
01:25:41
Стили, которые вы можете установить,
01:25:44
этот заголовок
01:25:50
текст, и он будет иметь стили, поэтому
01:25:53
это
01:25:57
почему и здесь мы должны добавить еще немного
01:26:00
свойства, такие как шрифт
01:26:04
семья
01:26:06
из семейства шрифтов, происходящего от D
01:26:10
из темы, поэтому здесь нам нужно добавить
01:26:15
полужирный, а затем шрифт
01:26:19
размер, который зависит от размера шрифта
01:26:22
размер точки
01:26:27
20 20 подойдёт и цвет такой цвет
01:26:30
чистый белый цвет
01:26:34
так что если ты пойдешь сюда вот так, хорошо, так что сейчас
01:26:38
вы можете видеть здесь наш текст заголовка
01:26:42
вот и я не понимаю, почему это
01:26:45
не видно окей пусть будет так еще раз мы
01:26:49
здесь есть еще два компонента, поэтому
01:26:51
первый это
01:26:52
значок градиента и еще один — профиль
01:26:55
картинка, поэтому для этого мы собираемся
01:26:59
создайте компонент значка градиента, чтобы
01:27:01
снова внутри нового файла компонента
01:27:05
вставить значок градиента, а не градиент
01:27:09
Значок градиента BG.
01:27:12
TSX снова работоспособен
01:27:16
экспортируйте и записывайте это здесь и снова
01:27:20
выбор профиля
01:27:24
так что выбирай профиль.
01:27:28
DSX и тот же функционал здесь
01:27:32
экспортируйте так, чтобы в значке градиента было то, что мы
01:27:36
собираемся сделать это на этом градиентном заднем плане
01:27:38
значок, нам нужно добавить еще несколько свойств
01:27:42
и нам также нужно определить реквизит так
01:27:46
снова
01:27:50
Значок градиента интерфейса PG
01:27:55
prop, и мы должны указать имя типа
01:28:00
цвет строки типа
01:28:04
строка, а затем размер типа
01:28:08
номер, таким образом, мы можем настроить
01:28:11
значок градиента BG, окей, теперь мы здесь
01:28:15
нужно получить все эти три как
01:28:18
Ну вот так
01:28:21
назовите цвет и размер, и он покажет
01:28:25
эта ошибка, потому что мы не установили
01:28:28
введите реквизит, чтобы мы могли
01:28:31
добавить реакцию. функциональный компонент с
01:28:36
градиент значка BG, например
01:28:40
все в порядке, это наш градиент
01:28:44
значок, и теперь нам нужно изменить jsx
01:28:49
это очень просто
01:28:52
ух, у тебя есть эти стили
01:28:57
здесь и вам нужно установить
01:29:00
стиль контейнера, поэтому у нас нет
01:29:03
контейнер
01:29:08
вот и нам придется удалить вот это и
01:29:11
здесь нам нужно добавить линейный
01:29:17
градиент, ок, и этот тоже
01:29:20
требуются стили
01:29:29
так что я назову это
01:29:33
как линейный градиент
01:29:37
БГ, и он показывает эту красную линию
01:29:40
потому что, э-э, самое важное свойство
01:29:43
градиента - это
01:29:47
есть цвета, поэтому да, ты можешь
01:29:52
просто добавьте сюда цвета, это массив
01:29:54
в основном добавляй цвета цвета делай
01:29:59
первичный серый шестигранник тот и другой
01:30:04
один черный, поэтому
01:30:07
основные цвета. начальный
01:30:10
blackx окей, так вот этот тоже теперь
01:30:14
эта красная линия
01:30:16
ушло еще одна вещь, которую мы должны установить
01:30:19
начальное и конечное значения, поэтому начало похоже на
01:30:23
позиция, где начнется градиент, поэтому X
01:30:28
будет равно нулю, y также будет равно нулю, например
01:30:32
что у нас тоже есть этот конец
01:30:35
значение, но значение x будет
01:30:38
одно значение y также будет
01:30:44
один и внутри линейного градиента мы
01:30:48
надо добавить линейный значок, извините
01:30:50
пользовательский значок
01:30:52
и который будет иметь это имя равное
01:30:57
цвет имени равен
01:31:01
цвет и размер равны размеру, вот и все
01:31:05
это наш градиент, единственное, что нужно
01:31:08
нам нужно добавить стили, и вот мы
01:31:11
нужно добавить ширину границы
01:31:18
два, затем еще раз цвет границы
01:31:24
цвета второй цвета. вторичный
01:31:28
темно-серый Хакс, ладно, тогда окантовка
01:31:34
радиус, который будет типа
01:31:37
интервал около 12 будет
01:31:41
работай, потом выравнивай
01:31:46
элементы, потому что нам нужно центрировать
01:31:50
элемент
01:31:53
и для этого нам нужно обосновать содержание как
01:31:58
ну теперь цвет фона будет
01:32:02
из
01:32:04
цвета, это контейнер, так что это
01:32:07
цвет фона тоже будет другим
01:32:10
вторичный темно-серый
01:32:13
Хакс и еще одна вещь, переполнение скрыто
01:32:16
так что все, что выходит за рамки этого
01:32:21
контейнер, он будет скрыт здесь так же, как
01:32:24
ну, здесь нам нужно добавить высоту
01:32:29
интервал 36 будет
01:32:33
работать аналогично для
01:32:40
WID, а затем снова выровнять элемент
01:32:45
Центрировать и обосновать содержание
01:32:48
Центр, окей, итак наш градиент
01:32:52
Значок BG готов, следующий вот этот
01:32:55
выбор профиля, так что этот тоже очень
01:32:58
просто единственное, что у нас есть
01:33:02
чтобы получить изображение из реакции
01:33:06
родной окей и изображение и просмотр как
01:33:12
ну и нам этот текст не нужен так что
01:33:16
сначала внутри представления мы должны сделать
01:33:18
снова наш контейнер изображений. Стиль точки.
01:33:22
изображение
01:33:27
контейнер и упомяните
01:33:30
это
01:33:32
потому что я не забываю принести его
01:33:36
вниз, и здесь нам нужно добавить некоторые базовые
01:33:39
свойства, которые являются высотой и высотой
01:33:43
будет стоять перед точкой 36 так же, как и наша
01:33:47
значок градиента
01:33:50
аналогично, а затем граница
01:33:56
радиус расстояния
01:34:01
22, а не 22, 12 на самом деле, а потом граница
01:34:06
ширина
01:34:08
две границы
01:34:11
цвет цветов делать вторичный темный
01:34:15
шестигранный серый шестигранный темно-серый
01:34:18
выравнивание элементов по шестиграннику
01:34:24
и просто содержать
01:34:27
Центр и переполнение
01:34:32
скрыто, это свойства для этого
01:34:35
э-э, посмотрите, и внутри этого мы собираемся
01:34:38
есть наш компонент изображения, который также
01:34:41
требует
01:34:45
Стили и не забудьте добавить этот
01:34:50
здесь
01:34:54
и он показывает эту ошибку, потому что мы
01:34:56
не добавил ни одного источника, поэтому для этого
01:34:59
просто потребуйте и найдите
01:35:07
источник, так что он находится внутри приложения с косой чертой ресурсов
01:35:11
Изображений
01:35:14
косая черта
01:35:16
a.png, таким образом, он будет здесь и в
01:35:21
Изображение
01:35:22
есть не так много вещей, которые ты можешь просто
01:35:24
скопируйте высоту и
01:35:26
ширина прямо здесь, окей, профиль
01:35:31
Пи также не имеет никаких свойств
01:35:32
потому что нет никакой собственности, это так
01:35:36
это просто контейнер выбора профиля
01:35:38
вот и все, теперь это наш заголовок здесь
01:35:41
нам нужно импортировать градиент BG
01:35:44
значок и еще один — выбор профиля, поэтому
01:35:48
профиль, если вы можете увидеть здесь
01:35:52
окей, и этот будет
01:35:55
цвет или вы можете сначала установить имя так
01:35:59
имя будет
01:36:03
меню, затем цвет будет
01:36:06
быть цвета
01:36:08
точечный основной светло-серый
01:36:12
шестигранник и последний размер, который может
01:36:15
использоваться с использованием шрифта
01:36:20
размер
01:36:21
16 будет
01:36:25
работай, окей, да, теперь ты можешь увидеть здесь и
01:36:29
причина, по которой мы не можем видеть
01:36:31
название, потому что мы не прошли ни одного
01:36:33
заголовок, поэтому, если вы установите заголовок
01:36:38
как дома
01:36:41
скрин, да, здесь можно увидеть название
01:36:44
так что да, нам пока не нужно название
01:36:47
но это нам понадобится позже
01:36:49
и для других экранов
01:36:51
но вот так это будет выглядеть
01:36:54
сейчас и они неинтерактивны
01:36:56
кнопки так там ничего нет
01:36:59
только для демонстрации цели, поэтому наши
01:37:02
Панель заголовка сделана почти все
01:37:05
сделано для заголовка
01:37:07
компонент, теперь нам нужно увидеть дизайн
01:37:10
что нам нужно сделать, это текст
01:37:12
и это поле ввода, так что теперь мы
01:37:15
собираемся создать эти
01:37:17
два, это наш заголовок, окей, итак
01:37:21
следующий текст, так что нам снова придется
01:37:25
добавить этот текст
01:37:26
[Музыка]
01:37:27
так что найдите
01:37:31
лучший
01:37:32
кофе для тебя, это текст, но мы
01:37:36
должен добавить
01:37:40
косая черта, потому что нам нужно поставить разделение
01:37:46
это предложение на эти два, чтобы мы
01:37:48
можно сделать это с помощью sln, так вот как
01:37:52
текст, как это будет выглядеть, и следующий
01:37:54
дело в этом стиле
01:37:56
так что установи стили
01:38:01
использование стилей
01:38:06
расставьте точки над этим методом, чтобы заголовок экрана
01:38:11
снова вы можете прийти сюда, установите значение так
01:38:16
это будет не сильно отличаться
01:38:18
свойства: сначала размер шрифта
01:38:27
размера 28, теперь сначала нам нужно будет установить
01:38:31
шрифт
01:38:36
семья, так что это будет тип полу
01:38:42
Жирный, и цвет будет чисто белым.
01:38:46
так что ты можешь просто сделать цветное
01:38:49
белый, окей, окей, да, теперь это будет
01:38:53
лучше, и это немного выглядит
01:38:56
странно, потому что мы ничего не добавили
01:38:57
отступ, поэтому требуется отступ слева
01:39:01
здесь пробелов
01:39:06
30, окей, теперь это так
01:39:09
хорошо, теперь следующее
01:39:12
все в порядке, я снова делаю все правильно
01:39:16
вот теперь я могу использовать разделенный экран, теперь мы
01:39:19
нужно еще раз добавить ввод для поиска
01:39:22
комментарий
01:39:26
здесь
01:39:27
ввод, и здесь мы должны добавить
01:39:31
просмотрите внутри, что нам нужно добавить
01:39:35
осязаемый
01:39:39
непрозрачность непрозрачность это поможет нажать
01:39:43
кнопка, которая является нашим пользовательским значком здесь
01:39:48
обычай
01:39:50
икона
01:39:51
вот так, и нам нужно добавить немного
01:39:53
свойства, поэтому сначала имя — поиск
01:39:57
размер шрифта такой, какой на самом деле есть
01:40:00
шрифт
01:40:02
размер размер
01:40:05
18, а потом еще раз, ну, цвет такой
01:40:08
в зависимости от длины на данный момент так и есть
01:40:12
если ты скажешь
01:40:14
цвет у него будет такой, ну, условный
01:40:18
рендеринг можно сказать условный
01:40:20
рендеринг, чтобы текст поиска был точечным
01:40:25
длина, если длина больше
01:40:28
ноль, поэтому, если это условие, то мы
01:40:31
могу добавить
01:40:34
цвета делают
01:40:36
оранжевый, иначе нам нужно добавить цвета
01:40:40
точка светло-серый шестигранник основной светло-серый
01:40:43
такой шестигранник, и он показывает, показывает
01:40:48
это потому что окей, это не определено
01:40:51
вот почему вы можете просто установить это как
01:40:55
все в порядке, теперь здесь виден наш значок
01:40:58
и на самом деле это можно нажать, так что если вы
01:41:00
нажмите на него, он будет действовать как
01:41:04
кнопка, поэтому внутри этого представления у нас есть это
01:41:07
сенсорная кнопка, и следующая
01:41:09
ввод текста
01:41:11
поэтому введите текст этого компонента еще раз
01:41:16
компонент сначала будет иметь заполнитель
01:41:19
так заполнитель
01:41:21
и здесь ты напечатаешь
01:41:25
находить
01:41:28
кофе и ты можешь не увидеть
01:41:31
это потому, что мы еще не добавили SES
01:41:35
поэтому сначала установите значение
01:41:41
для поиска текста независимо от значения
01:41:44
текст поиска в порядке и
01:41:48
затем и еще раз вкл. при изменении текста вкл.
01:41:52
изменять
01:41:54
text, мы получим оттуда новое значение
01:41:58
и нам нужно настроить его на поиск
01:42:03
text и установите это значение в порядке, чтобы
01:42:07
заполнитель - это значение, это включено
01:42:09
изменить метод, тогда нам придется
01:42:11
измените цвет текста заполнителя так
01:42:14
цвет текста заполнителя, который
01:42:17
цвета do основной серый светло-серый шестигранник
01:42:21
да, теперь здесь можно увидеть цвет текста
01:42:24
и нам нужно изменить другие свойства
01:42:26
а также, поэтому для этого мы добавим
01:42:34
Стили, так что это стили для этого
01:42:37
ввод текста, нам также нужно добавить некоторые
01:42:39
стили для пользовательского значка, а также
01:42:43
стиль
01:42:44
стили равенства, значок ввода, и есть
01:42:49
ничего для возможной непрозрачности, но будет
01:42:52
быть методом onpress, и на данный момент это будет
01:42:55
быть пустым
01:42:57
функция и это основная
01:43:00
такой стильный
01:43:03
равно плиткам
01:43:08
контейнер ввода точек
01:43:13
компонент, хорошо, так что если ты пойдешь
01:43:17
здесь нам нужно добавить стили, чтобы
01:43:21
первый — маржа, можно сказать маржа
01:43:24
является
01:43:25
требуемое пространство 30 будет
01:43:31
работай, теперь нам нужно изменить границу
01:43:35
радиус, который будет равен радиусу границы
01:43:39
радиус точки
01:43:44
20, и мы можем уменьшить его на
01:43:48
немного окей, радиус границы готово
01:43:51
цвет фона, поэтому нам нужно задать
01:43:53
цвет фона, который будет
01:43:55
первичный темный PRX, поэтому цвета
01:43:58
основной темно-серый хак, да, это
01:44:02
виден, и последний — это Flex
01:44:05
Направление, так что сделайте это
01:44:09
ряд и да, сделай это ряд и следующий
01:44:14
один
01:44:15
выравнивает элементы
01:44:17
[Музыка]
01:44:19
так
01:44:23
выровнять элементы по
01:44:24
Центр, окей, теперь все снова в порядке, у нас есть
01:44:29
добавить еще немного для значка ввода
01:44:33
и вот у нас есть этот запас
01:44:37
так что запас
01:44:42
горизонтально и это будет
01:44:45
из
01:44:49
ослабевать
01:44:51
делать
01:44:55
20 да, теперь это
01:44:57
выглядит нормально, и последнее это
01:45:01
ввод текста
01:45:06
контейнер, так что снова в нем будет немного
01:45:09
основные стили, но первый из них
01:45:14
высота промежутка
01:45:19
20, так что это фактически уменьшит его
01:45:24
размер, но нам нужно умножить его, как
01:45:27
три раза, ну, теперь все выглядит хорошо
01:45:30
затем шрифт
01:45:31
семья среднего размера
01:45:36
так что средние попины делайте средние, затем шрифт
01:45:47
размер 14, думаю, подойдет.
01:45:51
работа еще одна
01:45:54
цвет, поэтому нам нужно добавить
01:45:57
цвет белый
01:45:59
[Музыка]
01:46:01
так себе всякий раз, когда ты
01:46:07
напечатайте окей, и теперь, если вы нажмете здесь и
01:46:09
всякий раз, когда вам
01:46:11
типа это будет типа
01:46:14
это нормально, но ты же видишь
01:46:18
вот это выглядит немного странно
01:46:21
поэтому для этого мы можем исправить это, используя
01:46:25
Гибкий
01:46:29
один да, теперь это исправлено, да, вот так
01:46:32
то это займет все оставшееся
01:46:35
пространство компонента или вы можете сказать
01:46:38
контейнер, так что да, наш текст и ввод
01:46:41
поле тоже готово, следующее - мы
01:46:44
нужно добавить скроллер этой категории для
01:46:48
просто добавьте категорию комментариев, чтобы
01:46:52
мы можем, э, сослаться на это четко
01:46:56
в
01:46:57
скроллер будущих категорий, и вот мы
01:47:01
добавлю прокрутку
01:47:03
просмотреть прокрутку
01:47:06
просмотр, но этот вид прокрутки будет
01:47:09
горизонтальный нет
01:47:10
вертикально, а затем нам также придется удалить
01:47:14
к индикатору горизонтальной прокрутки
01:47:17
к
01:47:19
ЛОЖЬ
01:47:21
вот так и помни, что мы установили здесь
01:47:25
вертикальный это горизонтальный, поэтому есть
01:47:27
эти два разных свойства и
01:47:30
последний — это контейнер контента
01:47:33
style, поэтому мы не собираемся добавлять стили
01:47:37
сразу сначала мы
01:47:39
будут Стили
01:47:42
точка
01:47:46
вид прокрутки категории Стиль
01:47:51
окей, да, мы не собираемся добавлять
01:47:53
Стили сразу в первую очередь остановимся на
01:47:55
jsx, то мы сосредоточимся на стилизации, поэтому
01:47:59
это сделано, теперь попробуй еще кое-что
01:48:03
перезагрузи приложение
01:48:05
и прежде чем двигаться вперед, просто эээ
01:48:09
подтверждать
01:48:11
этот журнал консоли подтверждает, что у нас есть
01:48:15
категории
01:48:19
список, а затем
01:48:21
запятая
01:48:23
Такие категории C, да и да, если
01:48:27
вы видите здесь весь черный кофе американо
01:48:30
Cino espr makato, так что да, вот это
01:48:35
работаем, у нас есть, у нас есть
01:48:38
категории, так что вы снова можете просто комментировать
01:48:40
он опубликует этот комментарий, и вы сможете
01:48:42
изменить на
01:48:44
Лети, окей, и вот они у нас есть.
01:48:48
категории, но теперь нам нужно сопоставить
01:48:51
это такие категории, точки
01:48:55
карта и то, что мы делаем, это мы
01:48:57
создавая динамику, мы создаем список
01:49:01
динамически в зависимости от размера массива, поэтому
01:49:03
наш массив - это категории. Итак, на основе
01:49:06
данные, которые мы создаем список
01:49:08
динамически внутри представления прокрутки, поэтому данные
01:49:12
запятая
01:49:13
нам они понадобятся
01:49:16
двое и мы сюда должны вернуться
01:49:19
другой
01:49:21
компонент, который представляет собой представление и внутри
01:49:25
что у нас будет
01:49:26
это снова нам нужно проверить несколько
01:49:29
Итак, сначала у нас есть осязаемые
01:49:34
непрозрачность и внутри этого у нас будет
01:49:37
этот
01:49:40
текстовый текстовый компонент, который будет
01:49:44
данные
01:49:46
так что если ты сделаешь это вот так, ты увидишь
01:49:49
вот, э-э, вот данные, они выделены черным цветом
01:49:52
и каждый стиль в списке должен иметь
01:49:55
уникальный ключевой реквизит, чтобы исправить это, вам просто
01:49:57
нужно зайти внутрь этого вида, зайти внутрь
01:50:00
это и установите ключевую опору так, чтобы ключ был похож
01:50:04
это как уникальный идентификатор, как в базе данных
01:50:07
у вас разные данные, у вас есть данные
01:50:10
и чтобы идентифицировать их, у вас есть ключ
01:50:13
аналогично у нас есть эти ключи для
01:50:17
компоненты, чтобы идентифицировать их, чтобы
01:50:20
идентифицировать их
01:50:22
однозначно, так что это осязаемая непрозрачность
01:50:25
и это текст и есть один
01:50:27
больше компонента, но он основан на нем
01:50:31
это логический рендеринг, настолько условный
01:50:33
рендеринга можно так сказать, если
01:50:36
индекс категорий, хорошо, если этот индекс
01:50:41
равен индексу, который мы основали
01:50:44
на этом мы можем условно отобразить
01:50:47
представление, поэтому здесь вы можете добавить представление, и если
01:50:51
это не значит, что можно просто добавить шаблон
01:50:54
этот шаблон, и что там написано, значит
01:50:57
не существует в строке типа Dain index off
01:51:00
Итак, категории, так что на самом деле да, мы такие
01:51:03
здесь неправильно, мы должны
01:51:05
использовать, нам не обязательно использовать категории, которые мы
01:51:08
нужно использовать индекс категории
01:51:12
окей окей, так индекс категории и наш наш
01:51:15
индекс: если он одинаковый, то нам придется
01:51:17
визуализировать это представление иначе ничего, так что это
01:51:20
вид немного другой, это просто
01:51:23
базовый, ну, можно сказать, что нет ничего
01:51:26
внутри этого, поэтому я делаю это
01:51:28
самозакрывающийся тег, и в нем просто есть немного
01:51:31
стили активного состояния, чтобы вы могли
01:51:36
установить стили
01:51:41
точка
01:51:42
категория да, так что этот вид немного
01:51:46
разные, и это можно осязать
01:51:48
непрозрачность
01:51:50
при печати у него будет
01:51:53
функция, которой сейчас нет, тогда
01:51:57
Стили равны стилям
01:52:01
категория точек
01:52:04
текст активен, так что да, вот текст
01:52:07
еще и с текстом проблема
01:52:09
и что мы будем делать, если текст
01:52:12
активен, то мы что-то визуализируем
01:52:15
еще так еще раз тот же индекс категории
01:52:19
равно индексу
01:52:20
окей, если это снова про, то это
01:52:23
условие, то мы должны вернуть
01:52:25
объект еще пустой объект и вот он
01:52:28
будет двоеточие, так что да, если у нас есть
01:52:32
Определить это так, но вот наш здесь
01:52:36
это наше условие, поэтому, если категория
01:52:38
индекс такой же, тогда будет так и будет
01:52:41
иметь разные цветовые свойства
01:52:43
иначе у него ничего не будет по умолчанию
01:52:46
В индексе категории будет что-то
01:52:48
который не активен, поэтому категорию текста мы
01:52:51
надо настроить так, ладно, еще раз
01:52:55
у нас есть много вещей, которые нам также нужно добавить
01:52:57
некоторые стили для представления, поэтому
01:53:01
что мы можем разделить
01:53:07
с ними все в порядке, вот эти четверо
01:53:11
разные стили, поэтому в первую очередь это
01:53:16
один, хорошо, так что в первую очередь это будет
01:53:19
эти
01:53:20
прокладка
01:53:23
горизонтальный, который будет
01:53:27
интервал сделать пространство
01:53:31
20 и тогда у него будет запас
01:53:36
нижняя часть, которая будет иметь одинаковый интервал
01:53:40
как пространство между точками
01:53:46
20, окей, да, теперь ты видишь, что оно внутри.
01:53:50
Центр, но опять же есть
01:53:53
неразличимо, так что еще раз скопируйте это
01:53:57
прошло это правильно
01:54:00
здесь добавьте внутрь, что нам просто нужно добавить
01:54:04
прокладка
01:54:06
горизонталь расстояния
01:54:11
15 да, теперь они другие и
01:54:14
они прокручиваются как
01:54:17
хорошо после заполнения горизонта
01:54:21
мы можем добавить, ок, поэтому нам не хватает одного
01:54:24
еще объект недвижимости, который относится к этому стилю
01:54:30
точка
01:54:33
вид категории R
01:54:37
предмет, так что это за свойство на самом деле
01:54:40
так что на самом деле это именно этот объект недвижимости, так что сначала
01:54:42
мы решим
01:54:44
эх, мы покажем это активно
01:54:48
категория так вот в этом есть вот так вот
01:54:52
просто высота интервала
01:54:56
10 аналогично для
01:55:00
ширина, опять же, мы должны решить
01:55:03
Граница
01:55:04
радиус, но мы можем изменить его от границы
01:55:09
радиус радиус 10 и последний
01:55:13
этот цвет фона
01:55:18
так
01:55:21
окей, да, теперь ты это видишь, окей
01:55:24
Итак, это активный заголовок, и у нас есть
01:55:27
изменить элемент просмотра прокрутки, потому что
01:55:31
э, если есть какая-то другая категория или мы
01:55:34
могу ли я показать это из
01:55:40
вот так вот ты можешь изменить это на лайк
01:55:44
первый
01:55:47
только да, теперь ты можешь видеть, что
01:55:50
текст находится в точке, а не в точке
01:55:53
центр, поэтому для этого нам понадобится
01:55:59
это и здесь мы должны добавить элемент выравнивания
01:56:05
Центр, и да, теперь это центр, и
01:56:08
и последний из этой категории
01:56:13
текст, так что они такие же, как здесь
01:56:16
Я просто копирую отсюда, можешь
01:56:19
добавьте это, чтобы семейство шрифтов было полу
01:56:22
здесь жирный, так что просто делай полужирный, делай полужирный
01:56:27
жирный шрифт, размер будет другим, так что я
01:56:30
выбирая
01:56:31
16 и цвет цвет тоже будет
01:56:35
разные и цвет основной нет
01:56:38
белый, но основной светло-серый X окей да
01:56:43
и последнее — это нижний край, поэтому
01:56:45
здесь требуется свободное поле внизу
01:56:48
четыре будут
01:56:51
работа
01:56:53
да, окей, и еще одна вещь, которую мне не хватает
01:56:58
здесь текст категории, поэтому, если индекс
01:57:02
вот так, тогда нам придется изменить
01:57:04
активный текст, поэтому вы можете увидеть его здесь
01:57:06
все еще серый, так что просто измените это
01:57:08
недвижимость здесь добавить эту недвижимость внутрь
01:57:10
этот фигурный бюстгальтер латуни и изменить
01:57:13
собственность
01:57:15
Оранжевый, да, теперь ты можешь видеть что угодно
01:57:20
категория это будет
01:57:22
поменяй, окей, остался один метод
01:57:26
вот что это за активная категория, поэтому мы
01:57:29
здесь невозможно изменить категорию
01:57:31
для этого то, что мы должны сделать, вот мы
01:57:34
необходимо установить категорию, установить индекс категории
01:57:38
и здесь мы должны передать данные, чтобы
01:57:41
индекс будет текущим
01:57:44
индекс в порядке, а еще один — категория
01:57:49
воля
01:57:50
быть категориями индексировать, поэтому категории и
01:57:54
затем
01:57:56
индекс в порядке, так что это изменит
01:57:58
индекс категории в порядке и после изменения
01:58:01
индекс категории, что нам нужно сделать, мы
01:58:04
нужно поставить кофе, и вот у нас есть
01:58:07
к
01:58:08
установить сортировку
01:58:11
кофе опустошить, потому что, когда мы нажимаем на
01:58:16
любой любой из этого элемента или не пустой
01:58:20
вообще-то мы можем просто выпить кофе
01:58:24
кофе
01:58:25
список здесь, мы можем передать
01:58:28
категория из
01:58:32
категории и текущий индекс и
01:58:35
потом кофе
01:58:38
список, окей, какой бы ни был индекс
01:58:42
всякий раз, когда он находится на вкладке, этот индекс будет
01:58:45
перешел к этому, и список кофе будет
01:58:48
есть такое название категории, тогда оно
01:58:51
будет курортировать индекс, и если вы хотите
01:58:55
проверить можешь просто раскомментируй это
01:58:59
и вы можете увидеть отсортированные
01:59:03
Кофе и здесь вам придется изменить
01:59:06
сортированный кофе.
01:59:09
длина Хорошо, да, теперь вы можете увидеть здесь
01:59:12
вот три, но если нажать на все
01:59:14
будет 18, а остальные трое
01:59:17
потому что у них есть только эти три
01:59:20
окей, да, теперь все работает, я пойду
01:59:23
чтобы установить его как
01:59:24
все и еще кое-что вы можете сделать здесь
01:59:28
вот что вы можете расширить список так
01:59:32
используйте эти три
01:59:33
точки таким образом, а затем снова оберните это
01:59:37
внутри массива, хорошо, так что это создаст
01:59:41
новый массив, который вы можете увидеть здесь, мы здесь
01:59:43
деструктуризация массива и добавление
01:59:46
установка на набор сортированного кофе C
01:59:49
окей, наш сортированный кофе тоже
01:59:52
меняется, и наш активный элемент также
01:59:56
меняясь, вы можете видеть правильно
02:00:02
вот окей, просто удали эту консоль
02:00:05
войдите еще раз, нам это не нужно для
02:00:09
теперь наш указатель категорий завершен
02:00:14
как
02:00:16
ну, это свиток. Посмотреть сейчас
02:00:20
следующий — наш плоский список, и вот мы
02:00:22
должен добавить
02:00:25
список кофе и еще один вот этот
02:00:30
тот, который является бобовым
02:00:34
список, мы собираемся сделать это позже, но
02:00:36
сначала мы сосредоточимся на квартире
02:00:41
список, окей, и что там написано
02:00:44
виртуализированный список никогда не должен быть вложенным
02:00:46
окей, это потому, что плоский список от
02:00:48
по умолчанию сдается вертикально, поэтому для
02:00:51
что нам придется снова добавить горизонтальные
02:00:53
вот, окей, есть еще реквизит
02:00:57
окей, первое, что нужно сделать, это
02:01:00
горизонтально, поэтому нам нужно установить его на
02:01:03
false, то следующий — это данные, поэтому
02:01:07
данные - это наш отсортированный кофе, ну, следующий
02:01:10
снова стиль контейнера контента
02:01:13
так что этот другой, поэтому я собираюсь
02:01:15
просто добавьте имя, чтобы имя было разрешено
02:01:19
список
02:01:22
контейнер, окей, это будет наш
02:01:25
данные контейнера также установлены, хотя они
02:01:29
не определено, поэтому оно отображается
02:01:30
эта ошибка и последняя - этот ключ
02:01:33
экстрактор и ключ
02:01:36
экстрактор, и в нем будет этот элемент, поэтому
02:01:40
у него будет товар и от
02:01:45
вот да, так что теперь этого не будет
02:01:48
смущенный
02:01:49
какой предмет, потому что мы это сделали
02:01:52
в режиме прокрутки, где мы добавили ключ
02:01:55
такой предмет точно так же требует
02:01:57
этот ключ
02:01:59
экстрактор в порядке, теперь это исправлено
02:02:02
следующий — рендеринг элемента, так что еще раз сделайте
02:02:09
это сейчас будет
02:02:17
ладно, это наш рендер
02:02:20
компонент, и мы собираемся создать
02:02:23
открытка, потому что если бы вы видели дизайн обоих
02:02:28
у них такой же дизайн, вообще-то я
02:02:30
забыл добавить этот рейтинг, но у них есть
02:02:33
точно такой же дизайн, только
02:02:35
внутренние данные будут меняться, так что это
02:02:37
почему мы собираемся сделать это
02:02:39
компонент, таким образом, он не будет помещать никаких
02:02:43
переработка списка бобов, так что на данный момент я
02:02:47
просто сначала добавим эту категорию Кейт
02:02:50
среди всего этого будет свойство Gap
02:02:52
это пространство между точками
02:02:57
20, затем есть отступы
02:03:02
вертикальный, который также
02:03:05
интервал сделать пространство
02:03:07
20 и последний дополняет
02:03:10
горизонтальный, поэтому отступы
02:03:14
горизонтальный будет иметь интервал
02:03:17
30
02:03:24
окей, итак, нам нужно отрендерить
02:03:28
компонент, по сути, так что снова здесь мы
02:03:32
нужно сделать компонент раньше, чем раньше
02:03:35
вот так снова переходим к компонентам
02:03:37
папка создать новый файл
02:03:41
как карта Коффи.
02:03:44
Функциональный экспорт реальности TSX, да, это так
02:03:49
работающий
02:03:51
теперь хорошо, и мы должны использовать это
02:03:55
компонент
02:03:56
здесь, и мы также можем передать сюда имя
02:03:59
на самом деле
02:04:00
[Музыка]
02:04:02
Итак, кофейная карта
02:04:05
здесь передай имя
02:04:09
так как здесь наш товар, это наш товар, так что
02:04:15
элемент. имя, если ты передашь это так, ты
02:04:19
можно увидеть здесь Coffee Card все
02:04:22
измените плоский список, например
02:04:24
это имя, и здесь вы можете отобразить
02:04:27
имя
02:04:33
вообще-то да, теперь их зовут
02:04:36
другое, но если ты поедешь в Америку, нет
02:04:38
покажу только три, так что да, теперь мы
02:04:42
сосредоточусь на создании этой кофейной карты
02:04:45
ОК, прежде всего нам нужно установить
02:04:48
э-э, ширина нашей карты
02:04:52
карта
02:04:54
ширина
02:04:56
равно
02:04:58
Размеры получаются
02:05:02
ширина получить
02:05:04
ширина точки окна
02:05:07
по-моему 0,32
02:05:10
это был номер, да, и теперь здесь
02:05:14
мы должны решить, э-э, решить или установить
02:05:19
реквизит, еще раз так
02:05:21
интерфейс кофейной карты
02:05:26
prop, и у него будут разные
02:05:29
свойства так
02:05:31
идентификатор тогда
02:05:34
индекс, так что это в основном число
02:05:38
тип, который из типов
02:05:40
весна
02:05:45
ссылка на жареное изображение иногда
02:05:50
мы можем по ошибке
02:05:52
напиши, эээ
02:05:54
неправильные свойства, поэтому я справляюсь
02:05:56
это
02:06:00
из данных
02:06:05
само название типа
02:06:08
[Музыка]
02:06:09
также нанизать специальный ингредиент, так что
02:06:13
это особенное
02:06:17
ингредиент
02:06:28
средний рейтинг типа
02:06:30
число, затем еще раз цена, поэтому это массив
02:06:34
в основном поэтому я не упоминаю
02:06:37
это я просто выражаюсь так
02:06:47
любой
02:06:50
и эта кнопка нажимает Handler, потому что эээ
02:06:53
на карте есть кнопка плюса, так что
02:06:56
нам нужно обработать это на главном экране
02:06:59
поэтому я передаю это как реквизит и
02:07:02
нет, мы не должны обрабатывать это внутри
02:07:04
карта
02:07:06
компонент, так что это наша карта, и мы
02:07:09
надо добавить это к типам
02:07:14
так реагировать
02:07:17
Точечный функционал
02:07:20
такой компонент, хорошо, теперь вы можете
02:07:23
экспортируй все, что хочешь
02:07:24
хочу и в принципе на самом деле мне нужно все
02:07:29
из них, поэтому я просто копирую
02:07:33
вставив это правильно
02:07:35
вот и удалив все это
02:07:45
типы, и мы должны сделать это раньше
02:07:48
потому что все эти ошибки будут обнаружены
02:07:51
к
02:07:52
компилятор, так что да, вы можете увидеть здесь d
02:07:55
d не упоминается, поэтому я установлю его как идентификатор
02:08:00
окей, на нашей кофейной карте будет это
02:08:04
линейный фон и линейный градиент
02:08:07
на самом деле так линейно
02:08:10
градиент здесь вы должны упомянуть
02:08:14
начни тогда
02:08:17
конец
02:08:19
затем Стили как
02:08:38
ну и еще один это
02:08:46
цвета, так что это будут такие
02:08:49
цвета
02:08:50
цвета недвижимости делают
02:08:53
основной серый
02:08:57
шестнадцатеричный, а затем цвета
02:09:00
точка первичная
02:09:02
черный X, окей, в начале будет этот x
02:09:08
= 0 запятая y =
02:09:13
0 и там будет такой
02:09:20
это градиент, поэтому я добавлю его
02:09:24
здесь
02:09:26
окей, и это начало и стиль
02:09:31
цвета, окей, теперь внутри это у нас будет
02:09:34
это фоновое изображение
02:09:37
компонент
02:09:38
так что если ты сделаешь это вот так
02:09:41
один
02:09:43
окей, теперь снова будет этот источник
02:09:46
и этот источник исходит из этого
02:09:48
ссылка на изображение Квадрат, чтобы вы могли добавить его, например
02:09:51
это в источник сохранить
02:09:55
он и говорит, что это ноль, окей, так что
02:09:59
ты знаешь, почему это ноль, потому что мы
02:10:01
не отправил его на кофейную карту, так что
02:10:05
что тебе нужно сделать, чтобы скопировать все это
02:10:12
свойства и добавьте их вот так
02:10:17
равно
02:10:19
не так, удалить равное, добавить вот это, так
02:10:23
да, типа
02:10:36
что
02:10:37
окей и да, удали это
02:10:40
один, поэтому здесь нам нужно добавить точку
02:10:46
ID похож
02:10:53
элемент сделать индекс, затем элемент сделать тип, затем
02:10:59
точка предмета
02:11:02
жареный, а затем точка, это очень
02:11:05
длинное имя, я собираюсь это сделать
02:11:07
позже снова так же долго
02:11:11
среднее имя
02:11:14
точка рейтинга
02:11:17
цена
02:11:19
и тогда здесь будет функция, но я
02:11:22
не собирается
02:11:23
использовать его прямо сейчас, поэтому я
02:11:25
не говоря уже
02:11:29
это предмет, делай особенный
02:11:33
ингредиент, окей, все в порядке, и вот ты
02:11:37
можно просто выполнить непустую функцию
02:11:41
да, просто извините, пустая функция, окей и
02:11:44
теперь у нас есть это
02:11:46
Источник: теперь мы можем просто
02:11:52
перезагрузи, окей, чтобы не было проблем
02:11:55
потому что все работает нормально
02:11:57
единственная проблема в том, что мы ничего не добавили
02:12:00
Стили здесь, поэтому просто добавьте стили, которые
02:12:04
как карта стилей Dot
02:12:09
фоновое изображение, и этот стиль будет
02:12:13
есть что-то другое
02:12:15
но я собираюсь использовать их так
02:12:19
прежде всего
02:12:20
ширина, поэтому ширина на самом деле является картой
02:12:25
ширина аналогично высота. тоже карта
02:12:30
ширина, а затем граница
02:12:33
радиус, который будет иметь радиус
02:12:38
э-э, радиус границы, радиус
02:12:43
маржа 20
02:12:47
нижняя часть интервала
02:12:53
15 и просто переполнение
02:12:58
скрыто, да, да, теперь ты видишь, что это
02:13:02
наше приложение, это наше
02:13:07
карта в порядке
02:13:09
так ладно, теперь нам нужно проверить, что
02:13:13
вызывает эту проблему, хорошо, так что ничего
02:13:15
там также просто добавьте изменение размера
02:13:20
режим Мори
02:13:23
обложка, окей, и теперь у нас есть
02:13:27
ссылка на изображение этого объекта недвижимости Площадь
02:13:30
все в порядке, теперь внутри этого
02:13:32
фоновое изображение, мы добавляем это
02:13:35
компонент, который является компонентом рейтинга
02:13:39
так у которого есть звезда
02:13:42
и стандартный текст для чтения, поэтому этот вид
02:13:45
воля
02:13:46
есть кастом C
02:13:50
значок и
02:13:53
звезда звезда и это значение, поэтому рейтинг
02:13:56
значение исходит из среднего
02:13:59
рейтинг и имя в основном
02:14:06
цвет звезды является основным цветом, поэтому цвет
02:14:10
равно основному желтому, я думаю, нет, это
02:14:13
вообще-то оранжевый
02:14:14
поэтому цвета имеют оранжевый цвет
02:14:22
если ты видишь здесь, да, это там и
02:14:25
последний — размер, поэтому размер равен шрифту
02:14:29
размер на самом деле размер
02:14:31
отлично, но мы все равно добавим
02:14:35
размер шрифта, точка
02:14:40
размер, ну, может быть, 18-18 это слишком много, но
02:14:45
хорошо, теперь мы можем настроить это, мы
02:14:48
просмотреть стили
02:14:51
равные стили
02:14:54
Точка
02:14:56
карта
02:14:58
рейтинг
02:15:02
контейнер, так что это наш рейтинг карт
02:15:06
контейнер, это наш текст, поэтому еще раз добавьте
02:15:09
несколько стилей для текста, чтобы оценить текст
02:15:12
будут стили текста для чтения карт
02:15:16
Точка
02:15:20
рейтинг карты
02:15:22
текст, который правильный
02:15:27
вот, ладно, я до сих пор не знаю, почему
02:15:30
это вызывает чтение изображения реквизита
02:15:33
только окей, здесь написано как строка
02:15:37
окей, нам придется изменить это, чтобы мы могли
02:15:39
изменить его на изображение
02:15:41
реквизит, окей, так что да, теперь ошибка исчезла
02:15:44
теперь нам нужно изменить рейтинг машины, но
02:15:47
нам снова нужно добавить несколько данных, поэтому
02:15:51
мы немного сделаем этот стиль
02:15:53
позже следующий этот текст, так что у нас есть
02:15:56
чтобы добавить этот текст, который является названием
02:16:01
кофе и еще раз особенный ингредиент
02:16:04
также включен туда, поэтому, если вы сохраните его
02:16:07
да, сейчас это выглядит так
02:16:10
здесь вы видите эту цену и эту кнопку
02:16:13
и снова нам понадобятся еще два
02:16:16
контейнеры внутри одного контейнера, поэтому
02:16:19
первый — это текстовый контейнер, но
02:16:22
этот будет следующим вложенным
02:16:26
текст и что он означает, вот вам
02:16:30
можешь добавить знак доллара здесь и здесь ты
02:16:33
могу добавить цену, чтобы цена была
02:16:36
исходя из цены, точка цена, окей, будет
02:16:43
есть эти три, так что пока нет
02:16:45
поддерживать что-либо, так что на самом деле мы
02:16:48
отправка этой цены, ок, поэтому проблема у меня
02:16:51
так думаю, на самом деле нам придется отправить
02:16:55
цены, которые являются вторым пунктом, поэтому, если вы
02:16:58
посмотрите на список, у нас есть этот массив и
02:17:02
внутри у нас есть эти три предмета
02:17:03
и мы собираемся добавить это самое большое
02:17:05
предмет, поэтому он был причиной этого
02:17:08
ошибка, так что да, еще раз вот этот
02:17:12
теперь исправлено, так что доллар и вот это
02:17:16
тоже готово, теперь нам нужно добавить нашу кнопку
02:17:19
окей, вот нашу кнопку, которую мы можем добавить
02:17:22
осязаемый
02:17:29
непрозрачность и здесь, внутри, нам нужно
02:17:32
добавить значок фона
02:17:34
по сути, это компонент значка BG, который мы
02:17:39
еще не создал, так что для этого иди
02:17:42
внутри этой папки создайте новый файл как
02:17:46
Значок фонового изображения
02:17:50
TSX, здесь нам нужно импортировать retic
02:17:52
функциональный экспорт
02:17:55
окей, теперь это исправлено, но этого не произойдет
02:17:58
рендерить, потому что это немного
02:18:00
разные, и у этого есть некоторые реквизиты, так что
02:18:04
снова
02:18:05
реквизит интерфейса, и он будет иметь это
02:18:09
назвать как
02:18:11
цвет строки как
02:18:16
размер строки как
02:18:23
номер и цвет фона, а также
02:18:26
Цвет фона, который относится к типу
02:18:34
строка в порядке, и теперь нам нужно добавить это
02:18:37
реквизит для этого для этого компонента, так что еще раз
02:18:43
реагировать, делать функциональный
02:18:46
компонент да, вот и все
02:18:48
нам снова нужно получить все эти данные, чтобы
02:18:51
имя
02:18:53
цвет
02:18:57
размер и цвет фона в порядке, так что все эти четыре
02:19:02
свойства взяты и вот мы просто
02:19:05
надо добавить немного стиля
02:19:09
такой стиль
02:19:11
равно базовому
02:19:13
Стили, но нам нужно добавить цвет, чтобы
02:19:17
значок BG, это стиль, которого нет
02:19:21
определено здесь
02:19:23
но иди сюда определи
02:19:26
свойства, поэтому высота будет
02:19:30
будь рядом
02:19:38
30 аналогично для
02:19:43
ширина, а затем
02:19:45
базовое выравнивание, поэтому обоснуйте содержание
02:19:50
Выровнять элемент по центру
02:19:55
Центр и граница
02:20:00
радиус, который является фактической точкой радиуса границы
02:20:04
радиус
02:20:07
8 это наш значок здесь фон значка
02:20:11
и это цвет фона будет
02:20:14
в зависимости от цвета значка фона, поэтому
02:20:16
поэтому нам придется условно
02:20:18
визуализируйте его, поэтому оберните его в
02:20:22
массив, а затем нам нужно добавить
02:20:26
объект в качестве фона
02:20:29
цвет, который будет взят из цвета фона
02:20:33
окей, и здесь нам придется удалить это
02:20:35
с пользовательским значком, так индивидуально
02:20:39
значок, чтобы мы получили
02:20:42
имя от цвета имени
02:20:46
от
02:20:50
цвет и размер от
02:20:53
размер в порядке, здесь говорится строка
02:20:57
окей, да, нам придется это изменить, да, сейчас
02:21:01
все в порядке, так что нам придется использовать это
02:21:04
БГ
02:21:06
значок здесь, нам нужно передать цвет
02:21:10
цвет на самом деле белый, поэтому для
02:21:14
эти цвета сочетаются с белым
02:21:19
тогда на самом деле так зовут
02:21:26
добавь и еще один вот этот фон
02:21:29
цвет такой фоновый цвет вот здесь у тебя есть
02:21:36
чтобы добавить цвета.
02:21:40
оранжевый и размер, поэтому размер отличается
02:21:44
вот так
02:21:46
шрифт
02:21:49
размер шрифта размером 10 будет
02:21:52
работают нормально, но видно, что это не так
02:21:56
правильно возведен в квадрат, чтобы мы увидели, где находится
02:21:59
проблема, кроме 10, да, так и будет
02:22:02
работа
02:22:04
совершенно нормально, так что эта часть значка тоже
02:22:08
готово, теперь нам нужно установить эти стили для
02:22:13
снова такой скандал
02:22:15
Нижний колонтитул карты стилей с точкой
02:22:23
строка, так что это стили на самом деле так
02:22:27
здесь вы можете видеть, что можете добавить это
02:22:31
Стили, теперь нам нужно настроить нашу карту.
02:22:34
и мы подумаем о
02:22:36
функционал чуть позже, но сначала
02:22:39
нам нужно исправить этот макет карты, чтобы, если
02:22:43
вы идете карты линейного градиента, все готово
02:22:46
Изображение карты также готово, теперь нам нужно
02:22:49
см. контейнер с рейтингом карт, который это
02:22:53
один, так что это внутри изображения, которое
02:22:56
почему у нас есть
02:22:57
сделать
02:22:59
немного в первую очередь гибкое направление, как
02:23:03
строка, тогда у нас есть фон
02:23:07
цвет, и нам нужно изменить
02:23:11
цвета точка основной черный
02:23:16
РГБА
02:23:18
таким образом, у него будет немного
02:23:20
прозрачность, затем выровнять
02:23:23
предметы для
02:23:25
Центрируйте, а затем снова выровняйте содержимое по
02:23:29
Центр, э-э, некоторое количество разрыва тоже есть
02:23:32
требуется так
02:23:33
интервал между точками и пробелом 10 подойдет.
02:23:38
также требуется горизонтальное заполнение, поэтому
02:23:41
прокладка
02:23:45
горизонтальный, который будет иметь интервал
02:23:48
точечное пространство
02:23:51
15 и последняя это позиция
02:23:54
абсолютно так
02:23:56
позиция абсолютная
02:23:58
здесь
02:24:02
Граница
02:24:04
нижний левый радиус это будет
02:24:08
быть радиусом границы радиус точки
02:24:15
20 аналогично, но здесь свойство
02:24:19
а
02:24:23
граница границы верхний правый радиус, окей, так что
02:24:27
из-за этой запятой это вызывало
02:24:29
эта ошибка и последняя - это топ
02:24:32
ноль и вправо
02:24:36
ноль вот так, да, теперь ты видишь
02:24:38
это, так что единственное, что осталось, это это
02:24:42
текст, поэтому нам нужно настроить текст как
02:24:45
ну для этого опять же шрифтом
02:24:48
семейство шрифтов
02:24:55
середина
02:24:57
средний, тогда цвет будет
02:25:03
белый, размер шрифта будет 16.
02:25:12
так ладно, 16 или, может быть, 14, ты можешь настроить
02:25:15
размер на самом деле 14, да, один
02:25:19
еще нам нужно добавить строку
02:25:21
высота
02:25:22
[Музыка]
02:25:23
поэтому высота строки имеет значение
02:25:28
22 окей и тут нам тоже надо
02:25:32
настройте этот размер, чтобы размер был
02:25:35
это не значок BG, на самом деле это собственный значок
02:25:39
здесь размер будет такой, если есть 16
02:25:43
ага
02:25:45
16 работ
02:25:49
правильно, да, 16 работает правильно, теперь все в порядке
02:25:54
нижний колонтитул карточки здесь мы должны сохранить
02:25:56
это в массиве, и мы ничего не увидели
02:26:00
стиль текста карточки, вот это у нас есть
02:26:04
стиль, поскольку стиль равен карточке
02:26:13
заголовок, и аналогичным образом нам нужно добавить
02:26:16
другой
02:26:18
название, но имя будет
02:26:20
называется
02:26:24
субтитры, эти двое есть и один
02:26:27
еще нам нужно добавить текст
02:26:29
для контейнера цен, так что это
02:26:32
немного отличается, поэтому стили
02:26:35
Стили Точка
02:26:37
карта
02:26:39
цена
02:26:42
валюта и это то же самое
02:26:45
для карты карты нет, но не цена карты
02:26:49
валюта, это просто цена карты, окей и
02:26:53
самый важный из них — этот линейный
02:26:55
градиент, к которому мы не добавили стили
02:26:59
вообще-то я забыл, поэтому нам придется добавить
02:27:02
здесь некоторые отступы размером 15 I
02:27:09
угадайте и снова некоторый радиус границы, как
02:27:12
ну так радиус границы
02:27:14
Радиус границы 25
02:27:20
окей, да, теперь они выглядят лучше
02:27:23
как
02:27:24
карта в порядке, так что один
02:27:28
готово, теперь нам нужно стилизовать текст так
02:27:32
название карты
02:27:36
здесь и здесь нам нужно добавить эти шрифты
02:27:40
но мы собираемся удалить эту строку
02:27:44
высота, о чем это говорит
02:27:47
окей, запятая, запятой не было, окей
02:27:50
поэтому текст будет тем средством, которым он будет
02:27:53
будет белый и размер будет немного
02:27:56
больше, то есть 16, то же самое для карты
02:28:01
копия субтитров
02:28:04
эта карта
02:28:12
Подзаголовок тот же, но нам придется
02:28:15
изменить некоторые
02:28:17
другие свойства, подобные этому, будут иметь
02:28:20
этот свет
02:28:23
цвет шрифта также будет белым, но
02:28:28
размер будет
02:28:30
10 окей, так что да, теперь все готово, теперь мы
02:28:34
надо добавить эту карту
02:28:36
ряд, поэтому снова выполните Flex в направлении
02:28:41
строка, затем выровняйте содержимое пробела
02:28:45
между
02:28:47
потому что нам нужно место в
02:28:50
между затем выровнять элемент
02:28:56
Центр и последний — это поле
02:28:58
вершина
02:28:59
[Музыка]
02:29:00
поэтому интервал 15 будет
02:29:06
работай нормально, теперь есть небольшой пробел
02:29:10
между ними, так что последний вот этот
02:29:12
цена в валюте фактическая цена карты
02:29:15
валюта
02:29:19
и это будет иметь
02:29:21
эти самые, хм
02:29:25
свойства, так что они одинаковые, почти одинаковые
02:29:28
есть только некоторые изменения точка полу
02:29:31
смелый, ты можешь пойти на полу
02:29:33
смелый, здесь у тебя будет
02:29:38
оранжевый и текста будет много
02:29:42
больше, окей, так что это оранжевые и
02:29:46
изменить изменение
02:29:47
цвет этого текста, который мы используем
02:29:50
вложенный текст, поэтому текст снова внутри текста
02:29:54
и здесь нам просто нужно изменить
02:29:56
цвет для
02:30:02
белый, окей, вот и все, вот как наш
02:30:05
Список карт выглядит так и нет ничего
02:30:08
еще только проблема, ну, ты не можешь сказать
02:30:12
проблема, единственное, что осталось, это мы
02:30:14
не добавил это
02:30:17
в печати, потому что нам нужен магазин
02:30:19
функции, чтобы сделать, ну, сделать это, окей, так
02:30:23
это наша квартира
02:30:24
список, который очень простой, и этот
02:30:29
также будет иметь этот метод onpress, но
02:30:33
мы сохраняем это как
02:30:35
пусто, окей, этот плоский список готов
02:30:39
нам снова придется скопировать это для плоского состояния боба
02:30:42
список, и перед этим нам нужно добавить
02:30:45
текст здесь
02:30:46
сказать
02:30:49
кофейные зерна, как
02:30:52
это и нам также нужно добавить несколько стилей
02:30:55
вот такие стили
02:30:59
точечные кофейные зерна
02:31:03
названия этого текста будут
02:31:06
помогите отличить окей, так это только
02:31:10
имеет
02:31:12
шрифт
02:31:15
размер
02:31:17
размер шрифта сделать размер
02:31:22
18, затем поле слева от
02:31:26
пространство 20 или 30 я
02:31:30
думаю, ну да, это
02:31:33
30, затем снова маржа
02:31:39
верх или пробел
02:31:45
20
02:31:47
тогда и любящая семья тоже
02:31:55
там из
02:31:57
средний и последний — цветной, поэтому
02:32:01
цвет цветов
02:32:04
точечный вторичный светло-серый
02:32:09
шестнадцатеричный, ладно, и я не понимаю
02:32:13
причина, почему не виден текст
02:32:16
хорошо, сейчас просто скопируй и вставь этот элемент
02:32:21
вот окей, теперь это видно и можно
02:32:25
просто ладно, у нас есть еще одна вещь
02:32:28
Помните, нам нужно добавить панель вкладок
02:32:31
высота, помните, что у нас есть эта панель вкладок
02:32:34
высота
02:32:35
здесь мы также должны добавить это и
02:32:39
здесь список немного больше и
02:32:43
на самом деле все по-другому, так что для чего
02:32:45
сначала нам нужно что-то сделать, нам нужно измениться
02:32:47
здесь содержится стиль контейнера
02:32:51
так сделай так, а потом добавь
02:32:56
внутри объекта добавить
02:32:58
допуск
02:32:59
нижняя часть панели вкладок
02:33:03
высоту, и теперь, сохранив ее, вы можете
02:33:06
увидеть весь список здесь, и мы должны
02:33:09
заменить некоторые данные здесь, а не некоторые на самом деле
02:33:12
большую часть данных, поэтому в первую очередь это будет
02:33:15
использовать список компонентов
02:33:17
вот, если ты сохранишь их, да, теперь наши
02:33:20
бобы
02:33:22
видно и на основе этого все
02:33:25
меняюсь здесь, так что нет ничего
02:33:27
многое нужно изменить, единственное, что нужно
02:33:30
это, хм, эти
02:33:33
кнопки и эти действия, поэтому нам придется
02:33:36
поменяй их, но это будет выглядеть так
02:33:39
вроде окей и еще кое-что
02:33:43
здесь осталась кнопка с крестиком
02:33:45
на самом деле
02:33:47
так что помните, что у нас есть этот поиск
02:33:50
вход, который является этим компонентом это
02:33:53
кнопку этого текстового компонента, а затем мы
02:33:57
также должна быть эта перекрестная кнопка, поэтому
02:34:00
на самом деле здесь это не работает, как ты
02:34:02
можно увидеть, если я напишу, ничего нет
02:34:05
вот поэтому я не могу изменить
02:34:09
это тоже хорошо, так что давай просто построим
02:34:15
эта функция поиска, окей, еще один
02:34:19
перед этим мы должны установить так
02:34:22
если ты увидишь, прокручиваю ли я это до конца
02:34:25
полностью слева, и когда я нажимаю на Америку
02:34:28
нет, тогда ты увидишь это пустое место
02:34:32
тебе нужно просто немного сдвинуться, и тогда это
02:34:34
придет в состояние просмотра, так что
02:34:38
это проблема просмотра с прокруткой
02:34:41
почему, хм, как на самом деле не прокручивать просмотр
02:34:43
в основном плоский список, так что что мы можем сделать, сделать
02:34:46
мы можем изменить ссылку для этого
02:34:49
здесь у нас есть
02:34:50
здесь мы должны получить ссылку на это
02:34:54
эээ, прокрути, вот это вообще-то список
02:34:58
так что это тип любого на время
02:35:01
мы можем использовать вот такую ​​ссылку: вот она
02:35:05
Тип квартиры
02:35:07
список и все, так что на самом деле это не так
02:35:11
импортировано, поэтому это вызывает ошибку
02:35:13
окей, ссылку на этот список следует прикрепить
02:35:18
по этой ссылке, чтобы вы могли пойти и ввести
02:35:21
ссылка
02:35:23
список равенств
02:35:26
реф, окей, и здесь ты можешь управлять
02:35:31
ссылка или можно сказать скольжение этих
02:35:33
проблема, так что если ты пойдешь
02:35:35
здесь
02:35:38
тогда да, вот так и когда нажимаешь
02:35:42
здесь ты должен тебе следует переодеться
02:35:44
представитель списка, а также функция
02:35:47
что меняет прокрутку, эээ
02:35:51
скроллер категорий, вот этот мы
02:35:54
возьми это
02:35:55
функция, вот данные, вот
02:35:59
осязаемая непрозрачность, вот
02:36:01
функция, поэтому вот что мы можем сделать, это мы
02:36:03
могу просто сделать ссылку на список с точкой
02:36:13
текущий
02:36:14
прокрутка
02:36:16
к
02:36:20
смещение, и мы можем установить его анимацию на
02:36:25
true и смещено на ноль
02:36:29
пикселей, все в порядке, теперь, когда вы нажимаете
02:36:32
все, что вы можете увидеть в анимации, так что
02:36:35
да, это исправлено, теперь ты можешь
02:36:38
прокручивать туда и сюда и когда я нажимаю
02:36:41
на капучино да, он прокрутится до
02:36:46
эээ, первый такой предмет, вот это
02:36:49
проблема с прокруткой исправлена, теперь последняя
02:36:52
во-первых, это проблема с поиском, на самом деле это
02:36:55
не
02:36:56
проблема, теперь нам нужно добавить пользовательский
02:36:59
значок здесь, так что это на самом деле
02:37:01
условно визуализированный элемент, поэтому мы здесь
02:37:03
нужно проверить текст поиска. длина
02:37:06
которое должно быть больше нуля и
02:37:09
если да, то нам нужно добавить компонент
02:37:14
здесь еще мы можем установить пустой компонент
02:37:18
и здесь мы должны изменить это на
02:37:20
осязаемый на самом деле такой осязаемый непрозрачность
02:37:25
базовая непрозрачность, а не базовая нормальная и
02:37:30
внутри этого мы должны добавить это, эээ
02:37:33
собственный значок, чтобы вы могли сделать собственный значок
02:37:36
что здесь есть имя, которое
02:37:41
близко, можем ли мы увидеть, что на самом деле мы не можем
02:37:44
потому что нет текста, да, ты можешь
02:37:47
видите этот черный значок, и теперь мы это сделаем
02:37:49
настройте этот значок так, чтобы имя значка было настраиваемым
02:37:52
является
02:37:53
близкий размер
02:37:58
размер шрифта. 18 шрифт
02:38:02
размер 18, посмотрим, 18 это немного
02:38:09
больше, да, 16 подойдет, теперь нам придется
02:38:13
добавить
02:38:14
цвет, поэтому цвет равен цветовой точке
02:38:19
основной светло-серый
02:38:21
хекс, да, это действительно сработает, вот это
02:38:25
это и нам нужно добавить несколько стилей
02:38:28
потому что должно быть
02:38:33
некоторое поле, горизонтальное поле, поэтому мы
02:38:37
есть этот значок ввода, так что если мы сохраним, да
02:38:40
теперь есть некоторый пробел, так что все это
02:38:43
пространство здесь, теперь нам нужно добавить
02:38:45
задействуйте его, когда мы нажмем на него, это будет
02:38:48
сбросить поиск поиск эээ поисковый запрос
02:38:52
вы можете произнести текст для поиска, а также у нас есть
02:38:54
изменить отсортированный список на самом деле так
02:38:58
это должна быть функция, поэтому мы
02:39:00
сначала нужно будет добавить две функции
02:39:02
одно это поиск, одно и второе
02:39:05
один из них очень близок, так что иди наверх
02:39:09
и здесь нам нужно добавить две функции
02:39:11
вот и первый - поиск кофе
02:39:15
функция
02:39:18
здесь мы получим поиск
02:39:23
строку и сначала просто добавьте минусы, например
02:39:29
теперь все в порядке, если
02:39:34
поиск равен
02:39:36
пусто, тогда мы должны сделать, мы должны
02:39:39
анимируйте ссылку на список, так что помните, что мы
02:39:42
анимировать это
02:39:44
вот и нам придется сделать то же самое
02:39:47
анимация, потому что на самом деле мы, если
02:39:50
поиск неверен, так что да, нам придется
02:39:52
оживите его, потому что это изменит
02:39:54
длина строки поиска или вы
02:39:58
можно сказать сортированный кофе теперь нам придется
02:40:01
установить категорию
02:40:03
индекс, хорошо, так что эта функция, что она будет
02:40:05
нам нужно установить индекс на ноль
02:40:09
потому что в методе all вы можете искать
02:40:12
для этого и категории, а также C
02:40:15
категории
02:40:18
нули, окей, так что это тоже
02:40:21
установить, теперь нам нужно отсортировать список, поэтому установите
02:40:26
сортированный кофе, вы можете поставить его прямо здесь
02:40:29
вам просто нужно пройти здесь, вам нужно
02:40:33
передать функцию, которая просто сортировала
02:40:36
кофе с использованием метода фильтра, так что это
02:40:38
функция будет иметь это, в первую очередь
02:40:40
у нас есть вот эта кофейная карта кофе
02:40:43
точечный фильтр списка
02:40:47
здесь будет предмет
02:40:49
здесь любого типа и следующий
02:40:53
мы получили доступ к этому предмету, так что
02:40:56
элемент do name, поэтому сначала нам нужно преобразовать
02:40:59
это в нижнем регистре, так что
02:41:01
в нижний регистр Хорошо, это и тогда у нас есть
02:41:06
чтобы проверить, включает ли это это
02:41:10
параметр, который является поиском, и мы должны
02:41:15
в нижнем регистре это как
02:41:17
ну потому что кто-то может поместить это в
02:41:20
прописная буква, так что в этом случае, окей, так
02:41:23
это наша кофейная карта и вот она
02:41:25
обернуть его в
02:41:28
такой массив, и тогда нам придется
02:41:31
разрушать
02:41:35
это так, что всякий раз, когда эээ
02:41:39
какой бы кофе ни искали, вы будете
02:41:42
вы сможете установить эту сортировку
02:41:44
кофе реструктурирует данные и это
02:41:48
отразит это в приложении, чтобы
02:41:51
готово, теперь нам нужно просто сбросить настройки
02:41:55
поищи кофе, там то же самое
02:41:58
функция const сброс поиска копия и что
02:42:04
произойдет, когда мы будем
02:42:06
настройка, мы закончили поиск
02:42:09
часть, мы должны установить ее в категорию
02:42:11
или нам придется сбросить отсортированный кофе
02:42:14
перечисли это еще раз
02:42:17
сделай вот так, сбрось этот набор
02:42:22
категории такие же, как эта, потому что
02:42:25
скажем так, кто-то нажимает на другого
02:42:28
эээ, категории, в таком случае это вызовет
02:42:31
какая-то ошибка, потому что мы не устанавливаем
02:42:35
э-э, отсортированный список по категориям
02:42:37
индекс внутри сброса, так же, как
02:42:40
это, а затем мы должны установить
02:42:42
кофе
02:42:44
здесь, но здесь нам не нужен этот, нам
02:42:47
не нужна никакая сортировка или фильтрация, просто
02:42:52
Список кофе в самолете такой же, и мы снова просто
02:42:57
нужно задать текст для поиска
02:43:01
очистить текст, окей, вот эти двое
02:43:04
функции завершены поиск кофе
02:43:06
сбросить поиск кофе окей
02:43:09
и что нам нужно сделать при вводе текста
02:43:13
каждый раз, когда мы нажимаем на это
02:43:15
поиск, он проверит поиск кофе
02:43:18
поэтому здесь нам нужно добавить поиск
02:43:21
кофе, а затем нам нужно пройти
02:43:24
поиск текста
02:43:26
здесь хорошо, поэтому для поиска требуется
02:43:29
искать текст, хотя сброс не дает
02:43:31
требуется, чтобы, когда вы нажмете на это
02:43:34
значок снова включен
02:43:44
нажмите окей окей теперь все работает
02:43:48
осталось еще кое-что, я покажу
02:43:51
ты, так что дело в том, что в первую очередь мы будем
02:43:55
поиск
02:43:56
для
02:43:59
латте, да, теперь ты можешь увидеть здесь, в
02:44:02
весь метод показывает это даже
02:44:05
если вы
02:44:06
изменить, он перейдет к этому и в
02:44:11
еще раз, если вы зайдете на все, оно покажет
02:44:12
весь список, вот почему это так
02:44:15
на самом деле хорошо, и здесь ты можешь изменить
02:44:17
можешь закрыть это прямо здесь, окей, да
02:44:21
теперь вы можете увидеть эту анимацию, но если
02:44:24
ты, если
02:44:25
Я ищу латте
02:44:29
здесь будет показано «Латте», а теперь, если я
02:44:32
не хочу этого и просто закрой это
02:44:35
один он снова сбросит массив и
02:44:38
это индекс категории, так что это работает
02:44:41
сейчас, но это успешный случай, так что сейчас
02:44:44
мы должны думать о неудаче, поэтому, если я
02:44:46
поищи немного
02:44:48
случайным образом, а затем искать
02:44:50
это оно будет выглядеть вот так и
02:44:53
Мне это не нравится, я не хочу этого
02:44:56
один я хотел, чтобы какой-нибудь предмет был
02:44:58
отображается, если это не удалось, поэтому для этого
02:45:01
вот
02:45:03
наш плоский список, который показывает, э-э, показывает
02:45:06
кофе, потому что мы манипулируем
02:45:08
отсортированный кофе, чтобы существовала одна U
02:45:12
свойство, к которому мы можем получить доступ, которое
02:45:15
называется
02:45:17
перечислите пустой компонент, поэтому, если данные
02:45:20
длина равна нулю, тогда что должно быть
02:45:22
визуализируется так, что мы можем визуализировать как
02:45:25
этот будет иметь этот компонент
02:45:33
вот это только две вещи, так что я
02:45:37
собираюсь сказать
02:45:41
нет
02:45:44
Кофе
02:45:46
найден или доступен
02:45:48
все, что я собираюсь сказать, это как нет
02:45:50
кофе
02:45:51
нашел, а потом снова придется менять
02:45:55
некоторые стили
02:45:57
вот такие стили
02:45:59
точка пустой контейнер C пустой список
02:46:04
контейнер, ты можешь
02:46:08
скажи, и у этого будет тот же текст
02:46:11
как заголовок категории, так и стиль
02:46:20
равно тексту категории, хорошо, если мы сохраним
02:46:25
да, кофе нет, но это должно быть
02:46:28
быть в центре и намного больше, так что это
02:46:31
зачем нам это понадобится
02:46:33
один, и мы можем поставить
02:46:36
здесь он вводит контейнер ввода текста, поэтому мы
02:46:40
возьми этот плоский контейнер, ты можешь
02:46:42
просто поставь ниже это
02:46:48
и здесь мы можем регулировать ширину
02:46:51
на самом деле
02:46:56
так и будет на самом деле
02:46:58
Размеры точки получить
02:47:03
окно сделать
02:47:06
ширина, но она должна быть какой-то
02:47:09
персонаж, но что я сделаю, так это сделаю
02:47:12
просто убери пробел
02:47:15
что я, что мы ставим перед тем, как я имею в виду вокруг
02:47:19
контейнер, который представляет собой
02:47:21
30, и это похоже на то, что слева
02:47:25
и вот так, окей, и если ты просто
02:47:28
поставить цвет фона
02:47:30
здесь красный, ты можешь видеть здесь, да, это
02:47:34
вот как это выглядит, окей, итак, мы
02:47:37
теперь у нас есть контейнер
02:47:41
завершено, теперь нам просто нужно отцентрировать его
02:47:43
и это маленький контейнер, поэтому мы
02:47:46
можно добавить отступы по горизонтали нет
02:47:49
горизонтально, в основном мы можем добавить его позже
02:47:52
сначала нам нужно выровнять его так
02:47:55
выровнять по центру, выровнять элементы
02:48:00
Центр, а затем просто Центр контента как
02:48:04
ну ладно, теперь это в центре, теперь мы
02:48:07
просто нужно манипулировать для заполнения
02:48:10
по вертикали с использованием пробела, что будет
02:48:15
тот
02:48:16
самый большой 3,6 но это все равно не так
02:48:20
достаточно, чтобы мы могли умножить
02:48:23
это да, теперь этого достаточно, так что если ты закроешь
02:48:27
здесь окей, так что это не сильно меняется
02:48:31
это идеально, поэтому, если вы ищете
02:48:35
какой-то случайный
02:48:37
вещи, да, вы можете видеть это как
02:48:40
это, а потом можешь закрыть здесь, э-э, один
02:48:44
больше, что ты можешь сделать, это ты можешь
02:48:46
просто измените отсортированное значение на основе
02:48:50
эээ, пока печатаешь, так что ты можешь сделать это
02:48:54
поиск скопируйте этот метод, чтобы у нас было это
02:48:56
метод пресс-поиска копировать текст поиска
02:49:00
так что просто скопируйте это и когда, когда вы
02:49:03
набирают это в тексте изменения, который вы
02:49:05
могу сделать эти две вещи так
02:49:09
в принципе, вы можете добавить это сюда и
02:49:12
вы также можете добавить этот текст здесь здесь как
02:49:15
ну ладно, теперь тебе не нужно нажимать
02:49:18
на этом ты можешь
02:49:20
только
02:49:24
да, так что пока ты печатаешь, это так
02:49:27
ищу список и как можно
02:49:30
видишь, окей, да, теперь мы этого не делаем, а ты нет
02:49:34
мне это нужно, хорошо, так что просто закрой его, типа
02:49:37
отсюда, и он установит его на свое
02:49:42
оригинал, окей, да, работает
02:49:46
теперь мы можем делать это в реальном времени, так что
02:49:51
опять же вам просто не нужен этот кастом
02:49:53
значок, из которого вы можете просто удалить его
02:49:58
вот это так это внутри поиска
02:50:01
входной контейнер ввода, например
02:50:03
что он изменит цвет только в том случае, если
02:50:08
длина больше нуля, окей
02:50:12
так что это
02:50:13
проблема, да, поэтому нам это понадобится
02:50:16
тоже один, так что да, есть такой двойной
02:50:19
функциональность, мы можем это сделать, хорошо, так что
02:50:22
это наш главный экран, который
02:50:24
выполнил единственные две вещи, которые
02:50:27
осталось добавить на экран карты, эээ
02:50:30
добавить в список карточек и еще одну вот эту
02:50:34
навигация, поэтому эти две функции
02:50:36
остались, так что теперь мы можем пойти в
02:50:39
store, и мы можем создать здесь метод, чтобы
02:50:43
здесь нам нужно добавить сюда два метода
02:50:45
в основном, поэтому первое, что нужно добавить к
02:50:47
метод корзины, а второй - метод
02:50:49
второй — рассчитать цену корзины, поэтому
02:50:51
эти два метода необходимы здесь, поэтому
02:50:54
что мы можем добавить на карту любой товар
02:50:57
как с этого экрана, так и с
02:50:59
экран подробностей, а также и еще один
02:51:03
вещь здесь, вы можете увидеть нашу, это наша
02:51:07
э-э, плоский список, чтобы мы могли ориентироваться в наших
02:51:12
для этого перейдите к экранам с подробными сведениями
02:51:14
просто добавьте навигацию, сделайте навигацию.
02:51:17
push, потому что мы не используем его в
02:51:21
первое место, поэтому нам нужно, нам нужно это от
02:51:26
вот, окей, это наш
02:51:29
навигация и это наша
02:51:33
метод временно это
02:51:37
ух, это не точно
02:51:41
вообще-то да, но это так, если ты
02:51:44
нажмите нажмите на любой из этих
02:51:46
пункт, в котором говорится о навигации. толчок это
02:51:49
нет, это не определено, окей, окей, так что
02:51:52
ошибка. здесь на самом деле нам нужно обернуть
02:51:55
это [Музыка]
02:51:58
все в порядке, теперь, если вы нажмете на нее, вы
02:52:00
перейду к деталям
02:52:02
экран
02:52:05
окей, аналогично, если ты пойдешь, нажмите на это
02:52:07
еще раз ты перейдешь к деталям
02:52:09
экран, поэтому сначала мы завершим это
02:52:12
добавить в корзину можно, да, выполним
02:52:15
это добавление к сокращению функциональности отсюда
02:52:18
тогда мы построим детали
02:52:20
экран, чтобы начать работу с добавлением в
02:52:24
корзина, поэтому теперь мы создадим добавление в корзину
02:52:27
функциональность внутри магазина, чтобы
02:52:29
манипулируйте списком корзины здесь, чтобы
02:52:33
которые создают эту функцию, добавляют в корзину
02:52:37
и он получит и предмет карты, так что
02:52:41
введите это как карту
02:52:43
элемент
02:52:46
и это будет типа
02:52:48
любой, и это вернет набор
02:52:52
функция, но внутри она будет иметь
02:52:55
этот метод производства, потому что мы собираемся
02:52:58
чтобы добавить несколько слоев: «мы собираемся»
02:53:01
обновить несколько слоев, чтобы это
02:53:03
почему мы используем продукты, которые даны
02:53:07
с помощью этого погружного пакета, поэтому эта продукция
02:53:10
будет
02:53:12
состояние, а затем оно вернет это, все в порядке
02:53:16
поэтому внутри этих фигурных скобок мы добавляем
02:53:19
логика корзины будет выполняться здесь
02:53:21
сначала нам нужно создать переменную как
02:53:25
найдено так, что по умолчанию будет ложным
02:53:29
тогда после этого нам нужно идти
02:53:31
через массив, поэтому существует несколько
02:53:35
функциональные возможности добавления к вырезанию, поэтому
02:53:38
всякий раз, когда вы получаете товар, ну вот
02:53:40
есть несколько возможностей, которые, э-э,
02:53:43
первым будет предмет корзины
02:53:45
не существует, поэтому, если оно не существует
02:53:49
тогда будет добавлен новый элемент, который
02:53:53
вставить в массив новый элемент будет
02:53:54
вставлен в массив, но если элемент корзины
02:53:58
уже существуют, тогда в таком случае эээ
02:54:01
учитывая размер этого предмета, мы
02:54:05
увеличит его количество, так что появятся
02:54:07
эти два условия и всё тут
02:54:11
это два условия, поэтому мы
02:54:12
нужно проверить, соответствует ли предмет корзины
02:54:16
есть в списке корзины или нет
02:54:20
поэтому сначала мы пройдемся по циклу
02:54:22
тот
02:54:31
массив здесь, мы проверим, если
02:54:35
указать список тележек DOT этого индекса, сделать идентификатор
02:54:41
на самом деле то же самое, что и элемент корзины со списком карточек
02:54:45
Товар в корзине C. удостоверение личности, поэтому сначала нам нужно
02:54:48
проверим их, если они равны, тогда мы
02:54:51
нужно установить эту найденную переменную в
02:54:56
правда, и после этого мы должны получить
02:54:59
размер
02:55:01
вообще-то, ладно, теперь нам пора идти
02:55:04
через прохождение этого предмета, так что
02:55:08
опять же, пусть я равняется z, а не я, это на самом деле
02:55:12
J, это должно быть J, потому что мы
02:55:14
уже использую I здесь J должно быть меньше
02:55:18
чем указать список корзины DOT этого товара или
02:55:23
этот индекс, и нам нужно получить доступ к
02:55:27
цены точка
02:55:29
таким образом у нас будет список
02:55:33
размеры в этом товаре, поэтому мы снова
02:55:37
нужно проверить, совпадает ли размер
02:55:40
или
02:55:41
не вырезать список этого индекса x точка
02:55:47
цены и здесь нам нужно добавить J, так что
02:55:50
у нас есть, мы проходим часть J
02:55:53
вот почему, потому что J для
02:55:56
цены, и я за этот список, поэтому у нас есть
02:56:00
чтобы получить доступ к размеру и перекрестной проверке с
02:56:03
предмет в корзине, такой предмет в корзине
02:56:06
расставьте еще раз цены
02:56:10
нуля, так что это будет один
02:56:14
массив, потому что добавляется только один элемент
02:56:17
однажды именно поэтому мы используем этот ноль
02:56:21
индекс, все в порядке, и вот мы здесь
02:56:24
проверка, одинаковые они или нет, если это
02:56:29
логика верна, это означает, что мы нашли
02:56:32
размер, который мы ищем, и что
02:56:35
мы делаем это устанавливаем это значение true
02:56:38
переменный размер, и тогда мы также
02:56:42
добавление, э-э, на самом деле обновление состояния, так что
02:56:45
список этого в корзине
02:56:48
предмет тогда
02:56:51
цены этой, э-э, конкретной цены и
02:56:55
затем увеличивая
02:56:58
количество, вот наше количество Plus+
02:57:01
теперь количество будет увеличено и после
02:57:05
все это мы разорвем цикл
02:57:08
все в порядке, так что эта логика существует, если
02:57:13
товар уже представляет собой первое, что нужно
02:57:17
извините, этот товар уже присутствует и
02:57:20
второй — если размер добавленной карты
02:57:23
в таком случае мы уже там
02:57:25
увеличение количества, но что, если
02:57:29
а потом мы ломаем это ради
02:57:31
Ладно, ладно, но давайте просто скажем так
02:57:36
такого размера не существует
02:57:38
карточка такого размера в карточке так в
02:57:42
в этом случае то, что мы собираемся делать, мы
02:57:44
собираюсь добавить или мы можем просто проверить, если
02:57:48
размер равен равен ложному или
02:57:53
не так, если это условие удовлетворяет этому
02:57:56
означает, что размер не найден, означает
02:58:00
все, что мы добавляем, является новым
02:58:03
размер корзины изменился по сравнению с этим товаром в корзине, поэтому
02:58:07
в таком случае, что мы будем делать, мы просто
02:58:09
нажмите на этот элемент, чтобы еще раз сделать это
02:58:12
один здесь и просто удали этот лайк из
02:58:18
здесь и мы тоже не мы тоже
02:58:21
мне это не нужно, потому что мы собираемся
02:58:23
подтолкнуть нашу
02:58:25
операция и здесь мы должны нажать
02:58:30
цены на товар в корзине равны нулю, поэтому
02:58:35
таким образом, вы можете увидеть здесь состояние, э-э, тележка
02:58:38
список этого индекса будет иметь эти призы
02:58:42
массив, и мы будем продвигать наш новый
02:58:44
потому что этого нет в корзине
02:58:47
пункт, окей, теперь наша следующая логика, э-э, первая
02:58:52
нам нужно еще раз разобраться с вещами
02:58:55
потому что все эти предметы будут
02:58:58
вставлены в случайном порядке, вот почему
02:59:00
для этого нам нужно их отсортировать
02:59:03
что нам нужно сделать, нам просто нужно, эээ
02:59:06
сортировать, нам просто нужно применить сортировку
02:59:09
функция там относительно э-э
02:59:12
размеры, поэтому в зависимости от размера он будет сортировать
02:59:16
тележка
02:59:17
список, э-э, корзина, список цен, а не корзина
02:59:21
список, так что это будет сделано для
02:59:25
каждый и здесь существует еще один, так что я
02:59:29
собираюсь сказать это как любой и Б тоже так
02:59:32
это пользовательская функция сортировки, которая
02:59:35
почему мы используем этот синтаксис и здесь
02:59:39
нам просто нужно проверить, какой из них
02:59:42
больше, поэтому сначала мы проверим
02:59:46
если размер do больше размера b do
02:59:52
окей, если это правда, то так и будет
02:59:56
верните минус1, потому что на самом деле, если вы
03:00:00
смотри, s на самом деле больше, чем M
03:00:03
технически, э-э, в случае с персонажами так
03:00:07
s больше, чем M, а M больше, чем
03:00:09
L, но, исходя из логики размера, l
03:00:14
наибольшее m — это среднее и
03:00:16
S — самый маленький, вот почему мы
03:00:19
возвращаемся сюда, мы меняем, если
03:00:21
вы возвращаете тот, который означает, что s - это
03:00:25
больший, поэтому здесь это указывает на то, что s
03:00:28
тот, который меньше, поэтому мы
03:00:30
возвращение минус один, окей, вот это
03:00:32
снова первое условие, и но если если это
03:00:36
не увенчалось успехом, тогда нам снова придется
03:00:39
есть размер B, размер do
03:00:44
и здесь мы вернем один таким образом
03:00:48
любое из них будет истинным и при
03:00:50
последнее, что нам нужно вернуть ноль
03:00:54
вот окей, вот и все готово
03:00:58
это наш внешний цикл, так что да, вот ты
03:01:01
можно увидеть это, если
03:01:03
случае, если каждая операция завершена
03:01:07
здесь мы должны сломать это, чтобы, когда у нас есть
03:01:11
предмет, тогда только мы ломаем
03:01:14
не выкладывай это за пределы, потому что тогда это
03:01:17
разорвет цикл for в первом
03:01:21
только итерация, окей, вот и все, это
03:01:24
наша основная идея об обновлении или добавлении
03:01:28
тележка - это единственное, что есть
03:01:31
остается то, что, если этот элемент не
03:01:34
существуют в первой карточке
03:01:36
место, так что в таком случае мы это нашли
03:01:40
переменная, поэтому мы должны проверить, является ли она
03:01:43
это правда или нет
03:01:46
да, мы проверяем, это ложь
03:01:50
и на основе этого мы добавляем
03:01:54
товар непосредственно в список корзины, который
03:01:57
наша карточка нравится
03:02:00
все в порядке, поэтому эта функция будет полностью
03:02:04
обнови новый массив, окей
03:02:07
так что это сделано снова, теперь нам придется
03:02:12
добавьте еще одну функцию, которая вычисляет
03:02:14
цена в корзине, поэтому каждый раз мы добавляем
03:02:18
эти товары в корзину, так что нам придется
03:02:21
рассчитаем стоимость карты, чтобы для этого мы
03:02:23
создаем новую функцию
03:02:26
как
03:02:29
рассчитать карту
03:02:35
цена и снова мы снова собираемся
03:02:39
используйте функцию set и внутри нее
03:02:42
будет продукция
03:02:44
метод, который также будет иметь эти состояния
03:02:48
переменные и этот массив, так что это наш
03:02:53
э-э, синтаксис функции, которая будет
03:02:56
контролируется с помощью установки и производства
03:02:58
методы, окей, так что нам придется идти пешком
03:03:01
через список корзины и на основе этого
03:03:03
нам нужно рассчитать цену товара, поэтому
03:03:05
сначала мы рассчитаем подпункт
03:03:08
цена, если вы видели в
03:03:10
дизайн или этот фигма-файл здесь вам
03:03:14
можно увидеть на экране истории заказов
03:03:16
каждый товар имеет индивидуальную цену и
03:03:20
тогда общая цена той тележки, которая
03:03:22
это вот так, добавляю вот это и это
03:03:24
сначала мы рассчитаем, эээ
03:03:27
цена за один товар, тогда мы сделаем
03:03:31
добавьте недвижимость или скажите да
03:03:34
свойство в основном, а затем мы можем добавить
03:03:37
это значение полностью с помощью сокращения
03:03:40
метод, и мы можем вычислить общую сумму
03:03:42
количество
03:03:44
поэтому сначала мы создадим временный
03:03:47
общий
03:03:49
цена, которая будет равна
03:03:53
ноль, то после этого мы пройдем
03:03:56
весь список карт
03:04:02
список, а затем еще раз здесь мы проверим
03:04:06
по временной цене, поэтому эта временная цена
03:04:10
будет
03:04:12
воля равна нулю, и это будет
03:04:14
быть ценой товара по отношению к
03:04:17
количества и их количество
03:04:21
количество и размер, поэтому сначала для этого мы
03:04:25
придется пройти всю цену
03:04:27
массив этого элемента, поэтому снова позвольте J равняться
03:04:32
Z J должно быть меньше
03:04:36
состояние
03:04:38
ДОТ-карта
03:04:41
список этого индекса
03:04:44
цена в точку на самом деле цена в точку
03:04:48
длина, а затем
03:04:52
j++, окей, теперь у нас есть еще один
03:04:55
вложенный, э-э, для
03:04:57
Цикл, а затем мы можем просто вычислить
03:05:00
температура
03:05:02
цена, основанная на этой формуле, которая
03:05:07
это pars float, и это будет иметь
03:05:12
цена значение на самом деле так еще раз нравится
03:05:15
этот, копия этого
03:05:18
здесь хорошо, и эти цены будут иметь
03:05:21
Индекс J, а затем X — это цена от
03:05:26
здесь и умножьте это на количество
03:05:29
такая же формула
03:05:33
вот, но умножьте это на количество, так что
03:05:37
удалите эту цену и установите количество
03:05:41
здесь, окей
03:05:44
так что это временная цена равна температуре
03:05:47
цена плюс это количество
03:05:50
этот предмет
03:05:53
поэтому для первого размера умножьте его на
03:05:57
с его количеством и ценой этого
03:06:00
размер аналогично, он будет добавлен к
03:06:04
эта временная цена, ну, временная цена, так что после этого мы
03:06:07
нужно установить временную цену на что-то
03:06:12
еще что, что будет
03:06:14
цена товара в списке корзины, поэтому установите корзину
03:06:19
перечислите здесь этот индекс, и мы
03:06:22
создайте здесь новый элемент, чтобы элемент
03:06:26
цена, так что это новый объект недвижимости
03:06:30
список корзины мы добавляем этот объект недвижимости
03:06:33
вот почему и мы получаем это от
03:06:37
температура
03:06:38
цена тогда до
03:06:42
исправлено до двух десятичных знаков, а затем
03:06:46
мы собираемся преобразовать его в
03:06:48
строка таким образом не потеряет свою
03:06:52
десятичные значения в порядке, и последнее
03:06:55
теперь нам нужно рассчитать общую стоимость
03:06:58
так что это очень легко
03:07:00
на самом деле здесь вам просто нужно добавить
03:07:02
Итоговая цена
03:07:03
равна общей цене плюс временная цена или
03:07:08
какой бы ни была цена, да, на самом деле температура
03:07:10
цена вот и все, это наша общая сумма
03:07:13
цена, так что это будет наш прайс-лист, ага
03:07:16
общая стоимость нашей тележки, и вот у нас есть
03:07:19
обновить эту цену на проживание, эээ
03:07:23
цена в корзине, так что это стоимость магазина, так что
03:07:28
здесь вы можете просто назвать общую стоимость
03:07:31
расставить точки над
03:07:34
исправлено из
03:07:37
два, то вы можете снова преобразовать его в
03:07:40
веревочка, чтобы она не потерялась, ну так
03:07:45
данных не будет
03:07:47
потеряли десятичные данные, окей, так что да
03:07:51
это в основном расчетная карта
03:07:53
цена функциональность эти два
03:07:55
функциональность необходима для следующего
03:07:58
экран подробностей и еще один, э-э
03:08:01
есть еще две функции:
03:08:04
Итак, первый из них - это добавление
03:08:07
элемент в список избранного, поэтому, когда мы
03:08:10
как и любой элемент, к которому этот элемент будет добавлен
03:08:13
наш любимый список, так что это наш эээ
03:08:17
синтаксис функции добавить в избранное
03:08:22
список, и сначала он будет иметь тип
03:08:27
так что же это за тип, так это боб?
03:08:30
или это кофе, а второй
03:08:33
идентификатор на самом деле такой, который будет снова
03:08:36
типа
03:08:38
строка, и это будет иметь функцию
03:08:41
здесь будет эта заданная функция
03:08:44
внутри него будет эта продукция
03:08:48
функция, и здесь вам нужно вернуть
03:08:51
состояние, использующее эту функцию, хорошо, и теперь мы
03:08:55
можем начать отсюда, и сначала нам нужно
03:08:58
проверьте, является ли тип кофе или
03:09:01
мусорное ведро, так что если
03:09:04
тип равен
03:09:06
кофе или быть IN, и если вы посмотрите
03:09:10
данные
03:09:13
тип добавлен здесь, вы можете увидеть здесь
03:09:15
поэтому все данные доступны в списке
03:09:20
эээ, только
03:09:21
так что нам, вам, нам не придется много искать и
03:09:25
внутри этого нам просто нужно добавить
03:09:28
список любимых, так что здесь нам просто нужно
03:09:30
добавьте этот элемент, чтобы мы не только добавляли
03:09:33
этот предмет в список избранного, ну, мы, мы
03:09:36
невозможно просто нажать этот элемент, как с помощью do
03:09:40
push, нам также необходимо обновить
03:09:42
Список кофе нашего товара, потому что он будет
03:09:45
иметь это истинное и ложное значение здесь здесь
03:09:48
это наш список кофе, поэтому нам нужно обновить
03:09:50
этот элемент, а затем добавить новый
03:09:53
элемент в список избранного, так что
03:09:56
эти две функции должны быть
03:09:58
сделано там и обрабатывается правильно, так что еще раз
03:10:02
для этого просто используйте это для
03:10:09
метод, и внутри него сначала мы должны
03:10:11
проверить, находится ли состояние
03:10:14
ДОТ кофе
03:10:18
список этого индекса соответствует идентификатору
03:10:23
что мы дали, потому что это кофе
03:10:27
у него будет другой идентификатор, и если он
03:10:31
если это боб, то у него будет
03:10:32
другой идентификатор, поэтому мы здесь
03:10:35
мы можем сделать это так, мы можем сделать это так
03:10:37
это так, если товар есть, мы должны проверить
03:10:41
такой идентификатор, и мы получаем наш
03:10:43
ID отсюда, так что это наш
03:10:48
функциональность, вы также можете изменить ее
03:10:50
прямо здесь, так что если наш идентификатор совпадает, то
03:10:54
что нам нужно сделать, так это сначала нам нужно
03:10:56
проверь состояние этого любимого эээ
03:11:00
собственность, поэтому для этого нам снова придется
03:11:03
проверьте список кофе DOT этого штата
03:11:08
индекс сделать любимым так сказать. кофе.
03:11:12
любимый, если это равно
03:11:15
ложь, то что нам делать, если это так
03:11:18
false, то нам нужно обновить это значение
03:11:21
так что просто установите это значение
03:11:24
вот так, и установи для него значение True, окей, ты
03:11:30
также можно использовать метод not, но да, я
03:11:32
предпочитаю делать это таким образом, потому что это
03:11:35
это я
03:11:38
пояснительные и здесь мы должны добавить наши
03:11:40
список любимых и и здесь мы должны
03:11:44
добавить элемент, потому что unshift, так что это
03:11:47
метод, что он делает, он добавляет, э-э
03:11:51
помните, что мы используем этот метод, чтобы добавить это
03:11:54
все категории вверху, так же
03:11:56
когда вы добавляете элемент в свой
03:11:59
список избранных, которым будет этот пункт
03:12:01
доступны в верхней части списка, а не
03:12:03
внизу, поэтому мы здесь
03:12:06
здесь мы добавляем этот элемент, поэтому укажите
03:12:09
ТОЧКА
03:12:11
кофе
03:12:13
список этого индекса, хорошо, поэтому мы добавляем
03:12:15
этот предмет в
03:12:17
индекс, вот и все, поэтому сначала мы проверим
03:12:21
если это сделано, то это
03:12:24
функциональность, поэтому, если это соответствует
03:12:26
все в порядке, тогда мы сделаем это
03:12:28
операцию и разорвать цикл for, окей
03:12:31
вот и нам придется повторить то же самое
03:12:34
здесь снова эта вещь, но для другого случая
03:12:39
поэтому еще раз введите здесь еще и затем вставьте
03:12:41
этот метод сверху здесь мы должны
03:12:44
измените его на компонент, затем еще раз на компонент
03:12:49
список и, возможно, это все здесь
03:12:53
не забудьте изменить все, не просто
03:12:56
измените внутри цикла for, так что помните
03:12:59
изменить это
03:13:03
везде хорошо, так что если это ложь, то
03:13:06
для него снова будет установлено значение true
03:13:09
что мы должны добавить этот элемент с помощью
03:13:12
это список этого индекса, хорошо, так что эти
03:13:17
два метода — это if и else, и это
03:13:21
это все, мы просто проверяем
03:13:23
будь то кофе или бобы, тогда мы
03:13:26
проходят через массив этого
03:13:28
уважаемый список, проверяющий его идентификатор, а затем
03:13:31
проверка, является ли оно ложным, потому что это так
03:13:34
добавляю в избранное, если это не ложь
03:13:38
тогда зачем будет менять его на истинное
03:13:42
Хорошо, значит, тогда это должно быть ложно
03:13:43
только мы сделаем это правдой, и тогда
03:13:47
также добавляя этот товар только в корзину
03:13:50
если это ложь, то не правда, хорошо, запомни
03:13:53
поэтому цена нашей расчетной карты равна
03:13:58
готово добавить в корзину готово добавить в избранное
03:14:01
сделано сейчас, теперь осталось одно
03:14:05
что это, эээ, удалить из избранного
03:14:08
список
03:14:11
так
03:14:15
поэтому, когда мы удаляем элемент, мы только
03:14:17
нужно передать ID только вот и все
03:14:20
но нам также нужно передать тип
03:14:23
на самом деле так какой тип
03:14:28
какой это тип товара, это кофе
03:14:31
или это Бин, потому что если мы удалим
03:14:35
это из кофейной карты нам тоже придется
03:14:37
обновить список кофе или зерен
03:14:40
статус этого фаворита, потому что потому что
03:14:42
помните, что у нас есть это свойство как
03:14:45
любимый, поэтому есть и кофе, и бобы
03:14:48
те
03:14:49
свойства, поэтому здесь просто установите тип и
03:14:54
ID этих двух строк, а затем мы
03:14:58
изменить его функциональность, чтобы набор
03:15:01
будет использоваться метод, который будет иметь это
03:15:03
производить
03:15:06
метод, который будет иметь метод State
03:15:11
еще раз да, это
03:15:14
синтаксис, потому что мы используем этот продукт
03:15:17
Метод набора методов имеет другой синтаксис
03:15:21
но мы не эээ, но нам нужно использовать
03:15:23
продукт, поэтому мы его используем
03:15:26
вот так, снова в этом, производи меня
03:15:29
эээ, в удалении из списка избранных
03:15:31
здесь мы должны проверить, если
03:15:34
тип
03:15:36
кофе или нет
03:15:39
поэтому не забудьте использовать двойные равенства и
03:15:42
затем
03:15:43
и использовать
03:15:46
кофе, окей, вот так, окей, итак, мы здесь
03:15:50
придется полностью скопировать эту логику сюда
03:15:55
так что если ты видишь
03:15:57
здесь нам нужна эта логика такая же, как она есть
03:16:01
здесь внутри этого случая if и else
03:16:05
единственное, что сначала мы проходим
03:16:08
конец нашей кофейной карты, затем проверка
03:16:10
идентификатор, который у нас есть, тогда
03:16:13
проверка состояния, поэтому, если это правда, то
03:16:16
только мы удалим его, так что да, помни
03:16:19
это сделает это правдой, сравните это с
03:16:22
истина, тогда сделайте ее здесь ложной, чтобы мы были
03:16:26
установка его значения на противоположное значение
03:16:30
но нам не обязательно удалять его правильно
03:16:32
здесь, потому что мы идем через
03:16:35
список любимых, поэтому и мы тоже
03:16:38
нужно проверить идентификатор в этом списке, поэтому
03:16:41
да, удали вот это, аналогично
03:16:45
в противном случае просто скопируйте этот и напишите
03:16:50
иначе, если изменить его на
03:16:53
Бин, или ты можешь проверить, что бы это ни было.
03:16:56
здесь хорошо, а затем замените его на Bean
03:16:59
список Список бобов запретить список всего, что
03:17:03
Фасоль
03:17:05
список
03:17:06
окей, и снова нам придется сделать перерыв после эээ
03:17:09
обновление значений состояния этих объектов
03:17:12
и список кофе в порядке, после обновления
03:17:14
их теперь мы закончили с этими
03:17:16
обновляем список кофе, но мы этого не сделали
03:17:19
удалил его из нашего любимого предмета, э-э-э
03:17:23
список любимых предметов, так что здесь нам придется
03:17:26
используйте метод сращивания, поэтому
03:17:29
сначала нам нужно использовать соединение
03:17:32
индекс, который сначала будет минус один
03:17:37
тогда у нас есть это
03:17:40
где мы проверим
03:17:45
ID штата сделать
03:17:49
любимый
03:17:51
список сделать
03:17:54
длина я++
03:17:57
здесь и здесь мы находимся
03:18:00
проверка удостоверения личности, поэтому, если штат
03:18:06
фаворит DOT
03:18:08
список этого индекса имеет идентификатор, который
03:18:12
соответствует идентификатору, который мы указали в
03:18:16
тот
03:18:17
аргументы, что мы будем делать, мы установим
03:18:20
индекс этого конкретного элемента, так что
03:18:24
наш индекс сращивания равен I, а затем
03:18:28
мы будем
03:18:29
сломай, окей, теперь у нас есть соединение
03:18:33
индекс этого элемента и здесь после этого
03:18:37
нам нужно обновить наш список, поэтому St сделайте точку
03:18:42
любимый
03:18:44
здесь мы должны использовать соединение точек списка
03:18:47
сращивание
03:18:48
метод, и здесь мы должны упомянуть наш
03:18:51
индекс сращивания, поэтому каким бы ни был индекс, мы
03:18:55
должен упомянуть об этом, и вот мы имеем
03:18:58
указать количество предметов, чтобы мы
03:19:00
нужно удалить один элемент, поэтому мы
03:19:03
используют этот синтаксис, и это будет
03:19:05
обновить список, потому что мы используем
03:19:07
этот метод производства, если мы не используем его
03:19:10
метод производства, это не сработает
03:19:13
конечно, также некоторые некоторые функции могут
03:19:15
не работай, ты не знаешь, для государства
03:19:19
Библиотека управления, но да, вот и все
03:19:22
это ценности государственного управления
03:19:26
и это их контролёры, так что да
03:19:30
так что на данный момент есть эти четыре
03:19:32
функции, которые затем добавляются на карту
03:19:36
рассчитать стоимость карты добавить в избранное
03:19:39
список и удалить из списка избранного, чтобы
03:19:42
эти четыре, есть еще три, которые
03:19:44
увеличить стоимость корзины или
03:19:48
количество в корзине фактически позиция в корзине
03:19:50
количество этого конкретного размера, поэтому
03:19:53
увеличивая и увеличивая эти два
03:19:55
их функции и последняя из них
03:19:57
эээ, добавляю этот товар в корзину в заказ
03:20:00
список истории, поэтому удалив его из списка
03:20:03
элемент корзины, а затем добавить его в корзину
03:20:05
список истории заказов, поэтому эти три
03:20:07
функции остаются, и мы не
03:20:09
они нужны прямо сейчас, но нам нужны
03:20:12
эти четыре функции работают, пора идти
03:20:15
вперед, чтобы мы закончили с этим
03:20:18
четыре функции, к которым мы сейчас перейдем
03:20:21
добавление функциональности в наш дом
03:20:25
экранное приложение, так что сейчас у нас есть
03:20:27
эти две функции, которые
03:20:29
добавление товара в корзину и это
03:20:32
это наша карта
03:20:34
список, окей, вот, думаю, нам стоит
03:20:38
не добавлять сюда ни одного элемента, мы должны добавить
03:20:41
это добавление товара на карту, но
03:20:44
сначала мы должны сосредоточиться на
03:20:46
отображение деталей
03:20:48
предмета кофе или зерна, поэтому сначала
03:20:51
из всего здесь мы направляемся к
03:20:53
подробный экран с использованием этого особенного
03:20:58
функционировать, поэтому мы можем
03:21:00
пройти а
03:21:02
данные в
03:21:05
навигация, чтобы мы могли сделать здесь, мы будем, мы
03:21:09
можно передать индекс из item.
03:21:13
index, то мы снова можем передать идентификатор из
03:21:17
элемент.
03:21:18
ID, а затем мы можем передать тип
03:21:21
на самом деле так, какой тип данных это так
03:21:25
тип
03:21:27
двоеточие
03:21:29
предмет делать
03:21:31
набери окей, и эти три будут предоставлены
03:21:36
Подробный экран маршрутов.
03:21:39
параметр
03:21:40
метод и да, нам понадобится
03:21:43
они же здесь для списка компонентов, так что
03:21:46
это наш список компонентов, и у нас есть
03:21:48
чтобы предоставить их здесь как
03:21:52
ну, извини, мне плохо, если ты вернешься
03:21:55
теперь окей, это наш подробный экран, который мы можем
03:21:58
можно перезагрузить
03:22:03
приложение, и вот наша детальная информация, и здесь
03:22:06
вы можете получить данные, поэтому сначала нам нужно
03:22:09
делать
03:22:10
навигация, а затем
03:22:15
маршруты для временного типа будут типа
03:22:18
любое, но да
03:22:22
console.log вы будете
03:22:25
получить данные
03:22:30
маршруты в порядке, так что в настоящее время это не так
03:22:33
показываю что-нибудь
03:22:36
вот если я нажму на это, да, теперь ты сможешь
03:22:39
см. индекс ID C1 равен нулю и это тип
03:22:44
кофе, хорошо, и если я вернусь и нажму
03:22:47
на любом компоненте, тогда он покажет идентификатор
03:22:51
индекс типа B1 равен нулю, а тип равен
03:22:55
Бин, да, так что все выяснится
03:22:58
какой предмет нужно
03:23:02
покажи, окей, вот теперь это
03:23:06
завершено, окей, теперь у нас есть консоль
03:23:09
зарегистрируйте данные нашего маршрута, теперь мы
03:23:14
можем выяснить, какой мы предмет
03:23:18
вообще-то просматриваю, так что еще раз зайди сюда, если хочешь
03:23:22
нажмите на любой другой элемент, хорошо, прежде чем
03:23:25
что мы можем сделать, это получить
03:23:28
товар из самого магазина, чтобы мы
03:23:32
назову это как
03:23:34
такой элемент индекса, потому что мы
03:23:38
собираюсь использовать весь список для использования
03:23:43
магазин, который мы создали здесь, а затем здесь
03:23:47
мы пройдем
03:23:49
состояние типа
03:23:52
любой и здесь мы разберемся какой
03:23:55
один, чтобы пройти, поэтому сначала мы проверим
03:23:59
маршрут, параметры, тип
03:24:03
вот так, если это типа
03:24:08
кофе, нам нужно послать, скажи, сделай
03:24:12
состояние кофейной карты. кофе
03:24:16
список окей, что правильно
03:24:18
здесь еще мы должны отправить госдобан
03:24:25
список, окей, и после этого нам придется
03:24:29
упомяните индекс, потому что это
03:24:33
завершился массивом, чтобы мы могли использовать
03:24:37
индекс здесь, так маршрут. параметры делают индекс
03:24:42
таким образом он будет иметь этот индекс
03:24:45
ценность, и нам снова не о чем беспокоиться
03:24:47
насчет обновления, данные совпадают
03:24:52
потому что это прямо из магазина
03:24:55
теперь еще один метод, который мы можем использовать
03:24:58
рассчитай стоимость карты, но мы сделаем
03:25:01
что позже сейчас у нас есть
03:25:04
чтобы начать с дизайна
03:25:09
экран, теперь нам нужно построить наши детали
03:25:12
экраны, так что для этого мы зайдем внутрь
03:25:16
предмет, и это наши экраны с подробной информацией
03:25:19
теперь мы можем начать здесь, поэтому прежде всего мы
03:25:22
нужно стилизовать это
03:25:27
контейнер и
03:25:29
что мы просто разделим это на части
03:25:33
экран
03:25:36
режим здесь просто добавьте
03:25:38
Гибкий
03:25:40
один и фон
03:25:44
цвет основного
03:25:47
черный черный X да, так это наш
03:25:51
экран сведений, теперь нам нужно добавить
03:25:54
строка состояния также здесь или удалите это
03:25:59
одну строку состояния и здесь упомяните
03:26:03
цвет фона, который будет таким же
03:26:06
цвета делают основной черный Хорошо
03:26:10
так
03:26:12
это сделано, теперь мы добавим
03:26:15
просмотр прокрутки
03:26:17
итак, потому что мы не знаем размера
03:26:22
подробный экран, вот почему мы
03:26:25
добавление этого свитка. Просмотр и все
03:26:27
будет внутри этого представления прокрутки, поэтому
03:26:30
должно быть так
03:26:32
вот и сюда мы добавим это шоу
03:26:36
индикатор вертикальной прокрутки равен
03:26:40
ЛОЖЬ
03:26:44
и еще один, который является контейнером контента
03:26:47
стиль, который должен
03:26:50
быть плиткой, делать прокрутку
03:26:55
гибкий, и этот будет иметь
03:26:58
это свойство, которое будет Flex
03:27:06
расти, почему мы используем это свойство
03:27:09
потому что, ну, если ты воспользуешься этим
03:27:12
собственность, что она будет делать, она будет расти
03:27:15
значение гибкости, чтобы иметь всю
03:27:20
размер экрана технически прокрутка
03:27:23
ведет себя так, каково бы ни было содержание
03:27:26
внутри этого прокрутки, просмотр прокрутки
03:27:29
получит эту высоту внутри своего содержимого
03:27:32
но если мы хотим, чтобы в режиме прокрутки было
03:27:35
размер по умолчанию относительно его содержимого
03:27:39
тогда вы можете установить его, используя этот F, так что
03:27:42
здесь я устанавливаю его как один, поэтому, если я
03:27:45
измените здесь цвет фона на
03:27:49
Красный, вы можете видеть, что все это пространство
03:27:52
занято, хорошо, но если я удалю это
03:27:55
теперь ты видишь, что нет, потому что
03:27:57
внутри прокрутки нет содержимого
03:27:59
вот почему нам нужен этот Flex
03:28:02
расти
03:28:04
свойство, которое полезно для прокрутки
03:28:07
Посмотреть, окей, давайте перейдем к дизайну
03:28:13
и здесь вы можете видеть, что это
03:28:15
наша деталь
03:28:18
экран, так что одно: мы собираемся
03:28:21
сделай это изображение единым
03:28:25
компонент, потому что нам понадобится
03:28:26
то же самое здесь
03:28:29
то же самое описание изображения для
03:28:32
любимый экран, поэтому нам понадобится
03:28:35
э-э, мы собираемся построить эти три, чтобы
03:28:38
четыре компонента, первый из них такой
03:28:39
изображение фоновое изображение второе
03:28:42
в этом описании третий размер
03:28:44
выбор и последний это
03:28:46
нижний колонтитул платежа, поэтому мы собираемся сделать
03:28:48
этот компонент, потому что мы
03:28:50
используя его в нескольких местах внутри карты
03:28:53
экран внутри экрана оплаты, а также
03:28:56
вот почему мы собираемся сделать это
03:28:58
компонент, поэтому эти два компонента и
03:29:00
эти и эти два ядра
03:29:02
компоненты в порядке, давайте начнем
03:29:05
с компонентом изображения, поэтому в первую очередь
03:29:08
Я собираюсь создать это
03:29:11
здесь новый компонент, который будет
03:29:17
быть фоновой информацией изображения
03:29:21
компонент, окей, здесь ты можешь просто отреагировать
03:29:25
собственный функционал в
03:29:27
экспортируйте, а затем продолжайте в том же духе, теперь ладно
03:29:33
мы собираемся импортировать этот компонент
03:29:35
здесь, внутри свитка
03:29:38
Вид
03:29:40
и фон изображения
03:29:42
информация, вот и все, если есть текст
03:29:46
вот тогда ты сможешь это увидеть
03:29:49
на экране, окей, так вот это
03:29:51
компонент, который мы будем создавать
03:29:55
теперь так близко это и до этого
03:29:59
сначала мы должны предоставить все подробности
03:30:01
нашего подробного экрана к этому
03:30:05
компонент, потому что если вы увидите дизайн
03:30:08
у него есть это фоновое изображение, а затем
03:30:10
заголовок
03:30:11
подзаголовок или специальный ингредиент
03:30:13
рейтинги рейтинги подсчитывают какой тип
03:30:17
это бобы или кофе, тогда что
03:30:21
ингредиент, который есть, а затем жаркое
03:30:23
уровень, поэтому все эти детали и это
03:30:26
тоже любимый, поэтому все эти детали
03:30:28
нужно отправить сюда
03:30:31
компонент в порядке, поэтому сначала мы построим
03:30:33
сначала мы построим реквизит для
03:30:36
этот
03:30:37
компонент в порядке, поэтому этот компонент будет
03:30:39
иметь некоторый реквизит
03:30:43
реквизит
03:30:46
интерфейс, напиши это, фоновая информация изображения
03:30:50
такой реквизит и первый
03:30:54
этот
03:31:01
включить обратный обработчик
03:31:04
потому что и это будет логический тип
03:31:07
так что это отличает этот дизайн, так что если
03:31:12
вы видите здесь, мы используем его в том же
03:31:14
в любимом, но там этого нет
03:31:16
кнопка «назад», и здесь она есть
03:31:20
вот почему мы должны сделать это логическим значением
03:31:24
кнопку, чтобы этот компонент мог отображать
03:31:27
на основе свойства this uh, поэтому включите
03:31:30
назад
03:31:32
Обработчик меняет это имя на это
03:31:39
один
03:31:41
окей, теперь следующее изображение
03:31:48
ссылка, это будет изображение типа
03:31:54
реквизит, и вы можете получить его от
03:32:01
вот так, окей, теперь следующий
03:32:05
тип, так какой это тип предмета, он будет
03:32:09
иметь строковый тип
03:32:12
затем
03:32:14
ID, который также будет иметь тип строки
03:32:21
тогда этот фаворит правда или ложь
03:32:24
тот
03:32:28
назови тогда
03:32:32
особенный
03:32:39
ингредиент, относящийся к типу
03:32:49
строка, эта строка также имеет тип string
03:32:52
ингредиенты затем в среднем
03:32:57
рейтинг, который будет иметь строковый тип нет
03:33:01
будет иметь номер типа
03:33:06
собственно, тогда рейтинги
03:33:09
считать
03:33:14
это будет типа
03:33:20
поджаренная нить, это будет типичный вариант
03:33:25
Обработчик строки назад, так что это будет
03:33:28
функция
03:33:30
здесь это будет типа любой и
03:33:33
на самом деле это необязательная функция, поэтому
03:33:36
если наш компонент не ожидает отображения
03:33:39
что тогда ты сможешь, ты сможешь сделать это и
03:33:43
последнее это толе
03:33:48
любимый, окей, это тоже
03:33:51
функция, которая может переключать элемент
03:33:55
какой нравится или не очень любимый предмет
03:33:57
так что переключи избранное, окей, теперь мы
03:34:00
собираюсь использовать их в
03:34:03
компонент
03:34:05
здесь и до этого мы должны установить
03:34:08
тип реквизита, так что давай
03:34:11
реагировать на функцию точки
03:34:14
компонент да, это
03:34:18
это и здесь вы можете видеть, что это показывает
03:34:20
этот красный, потому что все такое
03:34:24
отсутствует, поэтому все эти вещи отсутствуют
03:34:27
вот почему у нас есть
03:34:32
добавить эти свойства
03:34:36
еще раз, а затем установите это
03:34:39
запятая
03:34:49
окей, теперь это
03:34:52
решено, окей, поэтому нам придется удалить это
03:34:55
это и здесь мы должны добавить
03:34:58
фоновое изображение из React Native
03:35:00
сам
03:35:03
так изображение
03:35:07
фон, и мы должны использовать его здесь
03:35:12
вот так, и здесь мы должны добавить
03:35:14
источник, который мы получаем
03:35:16
по ссылке на изображение
03:35:19
портрет, окей, да, поэтому он не может быть нулевым
03:35:23
хорошо, потому что мы не отправляем никаких данных
03:35:25
так что помните, что нам нужно отправить все это
03:35:28
данные, так что это наши данные
03:35:33
экран здесь, мы должны отправить каждый
03:35:37
data, поэтому включить обратный обработчик должно быть
03:35:41
правда, хорошо, теперь мы получим этот реквизит
03:35:46
и что мы можем сделать, это скопировать это
03:35:50
свойство, и мы получаем его из элемента
03:35:53
индекса на самом деле, так что давайте просто переименуем
03:35:57
этот один элемент индекса, а затем все эти
03:36:01
свойства присутствуют внутри этого элемента
03:36:03
индекса, поэтому не забудьте добавить элемент
03:36:07
индекс, а затем это свойство для каждого
03:36:11
одинокий
03:36:21
Собственность, на самом деле мы должны это изменить
03:36:23
имя тоже, так что скопируйте его
03:36:27
вот это имя и вот у нас есть
03:36:29
чтобы изменить его, а также, чтобы этот и
03:36:32
этот такой же, такой же и с этим
03:36:37
и вот
03:36:39
тот
03:36:43
нам нужно скопировать
03:36:45
индексный элемент индекса и
03:36:49
затем ингредиенты
03:36:53
поэтому постарайтесь сохранить имя свойства
03:36:58
и да, постарайтесь сохранить название свойства
03:37:00
и их свойство данных одинаковое
03:37:09
потому что
03:37:12
и это функция на самом деле так для
03:37:14
теперь мы просто собираемся установить это так
03:37:17
это они будут пустыми
03:37:24
работает, окей, да, теперь это наш
03:37:27
подробности
03:37:28
экран, вы можете увидеть это
03:37:31
вот и это
03:37:33
изображение, поэтому сейчас я просто уменьшаю его
03:37:37
вниз, окей, это наш фон
03:37:40
изображение изображение и здесь мы добавили
03:37:42
исходный код, теперь нам нужно добавить немного
03:37:51
Стили в порядке, поэтому здесь мы можем указать
03:37:53
ширина здесь на самом деле которая будет
03:37:58
100% А затем соотношение сторон, чтобы соотношение сторон
03:38:02
соотношение здесь другое, потому что так оно и есть
03:38:05
на самом деле 200 по
03:38:08
250, вы можете просто удалить нули и
03:38:12
затем выровняйте содержимое по пространству
03:38:16
между
03:38:18
потому что да, теперь это наш образ, если
03:38:22
ты, если мы вернемся к любому другому
03:38:27
элемент, изображение которого будет отображаться здесь
03:38:29
окей, теперь все работает нормально, окей
03:38:32
внутри этого у нас есть два
03:38:35
компоненты, и это отображается на самом деле
03:38:38
условно, так что если
03:38:40
спина животного Хэндлер
03:38:43
правда, тогда то, что нам нужно сделать, мы должны
03:38:46
вернуть функцию, а не функцию
03:38:49
на самом деле вид, где мы передаем
03:38:52
этот
03:38:57
осязаемый
03:39:00
непрозрачность такая, какая должна быть
03:39:04
импортирован из
03:39:09
здесь
03:39:13
окей, вот и второй вот этот
03:39:17
но пока я устанавливаю его пустым
03:39:19
посмотреть, окей, так что это, если задний обработчик
03:39:24
это правда, тогда нам придется показать
03:39:27
две разные кнопки, вот эта
03:39:30
первый, это еще один и здесь
03:39:33
нам нужно добавить нашу иконку, чтобы мы
03:39:37
мы собираемся использовать наш компонент, который мы
03:39:40
использовать этот значок градиента BG
03:39:45
Итак, значок градиента BG, и я пройду мимо
03:39:50
какое имя
03:39:54
ушел тогда
03:40:02
цвет, цвет
03:40:05
в основном цвета создают основной свет
03:40:09
серый
03:40:11
и последнее это
03:40:13
размер, который будет шрифтом
03:40:16
размер сделать размер
03:40:19
16 да, теперь ты можешь увидеть это, окей, так что
03:40:23
на самом деле это немного странно, но теперь мы
03:40:26
собираемся использовать его снова здесь, внутри
03:40:29
эта осязаемая непрозрачность, которая у нас есть, мы есть
03:40:33
собираюсь изменить его на подобное
03:40:36
размер значения будет таким же, но
03:40:39
цвет цвет будет отличаться
03:40:41
потому что у нас есть это значение как
03:40:44
фавориты, и если это правда, то мы
03:40:48
собираюсь показать красный цвет, иначе это
03:40:51
серый цвет, чтобы просто показать красный цвет
03:40:54
идти в начальную школу
03:40:56
Красный X, окей, теперь он другого цвета
03:41:01
окей, теперь нам нужно добавить несколько стилей
03:41:05
этот вид на самом деле
03:41:07
вот почему это так выглядит
03:41:11
здесь мы можем добавить немного
03:41:13
Стили
03:41:16
заголовок изображения
03:41:18
барный контейнер со спинкой, я знаю, что это
03:41:22
очень длинное имя, но мы собираемся
03:41:25
повтори это, поэтому я ставлю
03:41:28
это так, и нам придется так же
03:41:32
скопировать это представление
03:41:36
на самом деле установите это здесь, мы должны
03:41:39
убери эту кнопку назад, она нам не нужна
03:41:42
вот этот и здесь мы собираемся его изменить
03:41:45
без спинки, у этого все по-другому
03:41:50
свойства, поэтому я устанавливаю их
03:41:52
нравиться
03:41:54
все в порядке, теперь мы определим это
03:41:57
здесь два объекта недвижимости, поэтому первый — это
03:41:59
один такой
03:42:01
добавив, что отступы должны иметь интервал
03:42:08
30, тогда первый такой
03:42:11
Направление на самом деле так и должно быть
03:42:14
ряд, затем выровнять
03:42:19
предметы для
03:42:21
Центрируйте и выравнивайте контент
03:42:25
в космос
03:42:27
между ними, и если я сохраню это сейчас, вы увидите
03:42:30
теперь они

Описание:

Hello Everyone, Today we are going to build a fully functional Coffee Shop App using React Native and Zustand (State Management Library). In this project, you can browse the list of Coffees and Coffee Beans. You can also search for the Coffees of your choice and look for the details like Special Ingredients, Roast Level, Ratings, and Description as well. You can Favourite any item and you can add these items to the Cart and place the order. So, Sit back and Relax, Grab some snacks, and Enjoy the Video. 📱 Build a Coffee Shop App using React Native ☕| Beginner | 2023 Github Repo - https://github.com/darshanpawar101/Coffee-Shop-App Link to Figma Design - https://www.figma.com/file/RyVLhDKrymZhThABrSgzIK Follow me on GitHub - https://github.com/darshanpawar101 Follow me on Twitter (𝕏) - https://twitter.com/darshan010x Join Discord Server - https://discord.com/invite/hf8YmsmNAD Support me on Patreon - https://www.patreon.com/code_with_codex Support me on BuyMeACoffee - https://buymeacoffee.com/codewithcodex Hire me on Fiverr - https://www.fiverr.com/s/oaQ6mN Time Stamps 00:00:00 Intro to Coffee House App 00:09:56 Project Setup 00:16:58 Dependency Installation 00:25:36 Assets Allocation 00:31:13 Data Source and Theme Setup 00:37:06 Custom Icon Setup 00:40:42 Creating Stack and Tab Navigators 01:01:48 Building Zustand Store 01:07:26 Building HomeScreen 03:20:43 Building Details Screen 04:42:55 Building Cart Screen 06:14:51 Building Favourites Screen 06:34:40 Building Payment Screen 07:30:45 Building Order History Screen Screen 08:22:57 Building Splash Screen 08:44:05 Development Completed 08:44:46 Support Me 🔴 Build a Movie Ticket Booking App Using React Native | 2023 - https://www.youtube.com/watch?si=75pOGP18H4G1u6Hl&v=KC0ddYQcnq4 How to Install React Native in Windows 11 - 2023 - https://www.youtube.com/watch?si=3k_DZuMhavDxO_B7&v=uJv6_S9yqK4 Tags - code,react,nodejs,firebase,tailwindcss,expo,programming,reactjs,mern,sanity,login,javascript,typescript,design,web development,react native,react native tutorial,react native tutorials for beginners,react native project,react native animations,react native ui,app development,react native app,react native course,live coding,react native authentication,react native course,react native project,react native,react native projects,react native coffee app tutorial,react native coffee app,coffee app,react native tutorial for beginners,react native movie app,react native ecommerce app,javascript,typescript,app development,react native app development,react native crash course,coffee shop app,mobile app development,learn react native,react native app tutorial,react native full course,zustand,state management, react native zustand, react zustand,

Готовим варианты загрузки

popular icon
Популярные
hd icon
HD видео
audio icon
Только звук
total icon
Все форматы
* — Если видео проигрывается в новой вкладке, перейдите в неё, а затем кликните по видео правой кнопкой мыши и выберите пункт "Сохранить видео как..."
** — Ссылка предназначенная для онлайн воспроизведения в специализированных плеерах

Вопросы о скачивании видео

mobile menu iconКак можно скачать видео "📱 Build a Coffee Shop App using React Native ☕| Beginner | 2023"?mobile menu icon

  • Сайт http://unidownloader.com/ — лучший способ скачать видео или отдельно аудиодорожку, если хочется обойтись без установки программ и расширений. Расширение UDL Helper — удобная кнопка, которая органично встраивается на сайты YouTube, Instagram и OK.ru для быстрого скачивания контента.

  • Программа UDL Client (для Windows) — самое мощное решение, поддерживающее более 900 сайтов, социальных сетей и видеохостингов, а также любое качество видео, которое доступно в источнике.

  • UDL Lite — представляет собой удобный доступ к сайту с мобильного устройства. С его помощью вы можете легко скачивать видео прямо на смартфон.

mobile menu iconКакой формат видео "📱 Build a Coffee Shop App using React Native ☕| Beginner | 2023" выбрать?mobile menu icon

  • Наилучшее качество имеют форматы FullHD (1080p), 2K (1440p), 4K (2160p) и 8K (4320p). Чем больше разрешение вашего экрана, тем выше должно быть качество видео. Однако следует учесть и другие факторы: скорость скачивания, количество свободного места, а также производительность устройства при воспроизведении.

mobile menu iconПочему компьютер зависает при загрузке видео "📱 Build a Coffee Shop App using React Native ☕| Beginner | 2023"?mobile menu icon

  • Полностью зависать браузер/компьютер не должен! Если это произошло, просьба сообщить об этом, указав ссылку на видео. Иногда видео нельзя скачать напрямую в подходящем формате, поэтому мы добавили возможность конвертации файла в нужный формат. В отдельных случаях этот процесс может активно использовать ресурсы компьютера.

mobile menu iconКак скачать видео "📱 Build a Coffee Shop App using React Native ☕| Beginner | 2023" на телефон?mobile menu icon

  • Вы можете скачать видео на свой смартфон с помощью сайта или pwa-приложения UDL Lite. Также есть возможность отправить ссылку на скачивание через QR-код с помощью расширения UDL Helper.

mobile menu iconКак скачать аудиодорожку (музыку) в MP3 "📱 Build a Coffee Shop App using React Native ☕| Beginner | 2023"?mobile menu icon

  • Самый удобный способ — воспользоваться программой UDL Client, которая поддерживает конвертацию видео в формат MP3. В некоторых случаях MP3 можно скачать и через расширение UDL Helper.

mobile menu iconКак сохранить кадр из видео "📱 Build a Coffee Shop App using React Native ☕| Beginner | 2023"?mobile menu icon

  • Эта функция доступна в расширении UDL Helper. Убедитесь, что в настройках отмечен пункт «Отображать кнопку сохранения скриншота из видео». В правом нижнем углу плеера левее иконки «Настройки» должна появиться иконка камеры, по нажатию на которую текущий кадр из видео будет сохранён на ваш компьютер в формате JPEG.

mobile menu iconСколько это всё стоит?mobile menu icon

  • Нисколько. Наши сервисы абсолютно бесплатны для всех пользователей. Здесь нет PRO подписок, нет ограничений на количество или максимальную длину скачиваемого видео.