Nano Hash - криптовалюты, майнинг, программирование

Реагировать на родной модальный основной компонент всегда виден с красной рамкой, даже если установлено значение visible={false}

Я новичок в React Native и пытался создать Modal на основе документов https://reactnative.dev/docs/modal.

Я попытался скопировать пример модального компонента Function/Class в новый проект. Но то, что я вижу, это просто прямоугольник с красной рамкой, который постоянно появляется, даже когда я настраиваю visible = {false}. Однако, когда я добавил функцию console.log(), она выводит так, как и ожидалось. У кого-нибудь есть проблемы с этим? Вот как это выглядит: модальное окно реакции постоянно с красной рамкой Кроме того, я видел, как кто-то еще публикуя решение в этом сообщении: реагировать на собственный модальный режим всегда виден, но ни одно из решений работал.

Код точно такой же, как в документации. https://reactnative.dev/docs/modal.

import React, { Component } from "react";
import {
  Alert,
  Modal,
  StyleSheet,
  Text,
  TouchableHighlight,
  View
} from "react-native";

class App extends Component {
  state = {
    modalVisible: false
  };

  setModalVisible = (visible) => {
    this.setState({ modalVisible: visible });
    console.log(this.state.modalVisible)
  }

  render() {
    const { modalVisible } = this.state;
    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 World!</Text>

              <TouchableHighlight
                style={{ ...styles.openButton, backgroundColor: "#2196F3" }}
                onPress={() => {
                  this.setModalVisible(!modalVisible);
                }}
              >
                <Text style={styles.textStyle}>Hide Modal</Text>
              </TouchableHighlight>
            </View>
          </View>
        </Modal>

        <TouchableHighlight
          style={styles.openButton}
          onPress={() => {
            this.setModalVisible(true);
          }}
        >
          <Text style={styles.textStyle}>Show 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"
  }
});

export default App;

  • Это странно, потому что я уже пробовал код в документах, и он работает нормально (без красного поля, и мы можем показать/скрыть модальное окно). Какую версию rn вы используете? 18.04.2020
  • Попробуйте установить borderColor:transparent в стиле centeredView. 18.04.2020
  • @mahdi Я использую версию: 0.61.4 18.04.2020
  • Вы используете веб-эмулятор? 18.04.2020
  • @rajan borderColor: 'transparent' не работает. Даже если это так, я предполагаю, что прозрачность просто удалит красную рамку, но не скроет/покажет модальное окно. 18.04.2020
  • @махди Ага. Я использую expo start в своем проекте 18.04.2020
  • Вы пытались проверить, установили ли вы где-нибудь borderColor: 'red'? 20.04.2020
  • @displayname Хм, я пошел и проверил еще раз. Также создал новый проект на всякий случай, если он был вызван зависимостями. Похоже, проблема все еще актуальна. 21.04.2020
  • Похоже, это открытая проблема в Интернете: github.com/ реактивное-родное-сообщество/реагировать-родное-модальное/вопросы/370 01.05.2020

Новые материалы

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

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

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

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..