React Native: Visible State, но невидимый модальный (Open Modal From Dialog) - PullRequest
0 голосов
/ 14 января 2020

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

https://github.com/react-native-community/react-native-modal/issues/161

https://github.com/facebook/react-native/issues/19345

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

По сути, у меня есть встроенный диалог реакции, который показывает анимацию при переходе от visible={false} к visible={true} и обратно. (react-native-dialog library.)

Если у меня есть одна функция, в которой я установил для этого диалогового окна значение false, а также для модального значения true setDialogVisible(false); setModalVisible(true);, то для модальной переменной будет правильно установлено значение true, но сам модал:

<Modal visible={modalVisible}></Modal>

будет невидимым (даже если видимая переменная = true). Теперь, если я использую функцию setTimeout, чтобы подождать, пока анимация затухания диалога не разрешится, модал появится нормально после задержки. Использование setTimeout в функции пользовательского интерфейса очень подвержено ошибкам, и оно чрезвычайно хакерское, поэтому, на мой взгляд, использование этого решения в принципе ужасная идея. Но, насколько мне известно, это единственное, что работает корректно, поскольку модал никогда не появится во время анимации затухания диалога.

Кто-нибудь знает, как обойти это, не используя хакерский тайм-аут? Или хотя бы больше информации о том, почему это происходит?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...