Модальное всплывающее окно в приложении React Native Expo

Привет кодерам..!!

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

Настройка и установка

1. Создайте каталог и перейдите к нему.
2. Откройте командную строку или терминал в этом каталоге и выполните команду: expo init Modal
3. Выберите пустой шаблон и продолжите загрузку.

Модальный код в React Native Expo

App.js

import React, { useState } from 'react';
import { Alert, Modal, StyleSheet, Text, TouchableHighlight, View } from 'react-native';
export default function App() {
  const [modalVisible, setModalVisible] = useState(false);
  return (
    <View style={styles.centeredView}>
      <Modal
        animationType="slide"
        transparent={true}
        visible={modalVisible}
        onRequestClose={() => {
          Alert.alert('Modal has been closed.');
        }}>
        <View style={styles.centeredView}>
          <View style={styles.modalView}>
            <Text style={styles.modalText}>Hello Coders..!!</Text>
<TouchableHighlight
              style={{ ...styles.openButton, backgroundColor: '#2196F3' }}
              onPress={() => {
                setModalVisible(!modalVisible);
              }}>
              <Text style={styles.textStyle}>Hide Modal</Text>
            </TouchableHighlight>
          </View>
        </View>
      </Modal>
<TouchableHighlight
        style={styles.openButton}
        onPress={() => {
          setModalVisible(true);
        }}>
        <Text style={styles.textStyle}>Show My Modal</Text>
      </TouchableHighlight>
    </View>
  );
}

Во-первых, мы импортировали все необходимые пакеты. В этом проекте мы использовали концепции реагирующих хуков. Важная часть проекта — пользовательский интерфейс. Итак, в разделе «Модальный вид» мы устанавливаем тип анимации «слайд». Остальная часть — стилизация.

const styles = StyleSheet.create({
  centeredView: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
    marginTop: 22,
  },
  modalView: {
    margin: 20,
    backgroundColor: 'white',
    borderRadius: 20,
    padding: 35,
    alignItems: 'center',
    shadowColor: '#000',
    shadowOffset: {
      width: 0,
      height: 2,
    },
    shadowOpacity: 0.25,
    shadowRadius: 3.84,
    elevation: 5,
  },
  openButton: {
    backgroundColor: '#F194FF',
    borderRadius: 20,
    padding: 10,
    elevation: 2,
  },
  textStyle: {
    color: 'white',
    fontWeight: 'bold',
    textAlign: 'center',
  },
  modalText: {
    marginBottom: 15,
    textAlign: 'center',
  },
});

Ну, это много стилей необходимо. И мы закончили с частью кода здесь. Это простой javascript-проект. Теперь давайте запустим этот проект в вашем терминале или командной строке, отсканируйте QR-код с помощью ваших устройств IOS или Android и посмотрите проект в действии. После успешной сборки зависимостей javascript вы увидите что-то вроде этого.

Это круто, правда? Теперь измените тип анимации с «slide» на «fade». Вы увидите, как что-то изменится в поведении анимации. Мы закончили с частью кода здесь. Если вы столкнетесь с какими-либо трудностями, дайте мне знать в разделе комментариев.

Спасибо.