当用户导航到本机应用程序中的第二个选项卡时,一个选项卡中关闭的“警报”会重新打开

如何解决当用户导航到本机应用程序中的第二个选项卡时,一个选项卡中关闭的“警报”会重新打开

在我的 react-native 应用程序中,我有一个导入三个不同选项卡视图的屏幕。我遇到的一个问题是,在其中一个选项卡上 - SessionsTab 选项卡 - 如果执行某个用户操作,我会弹出一个 alert

现在,问题是,如果用户关闭 alert 标签中的 SessionsTab,然后导航到 DetailsTab 标签alert 会重新打开/重新出现,必须再次单击它才能清除它。我怎样才能防止这种情况发生?

注意:我使用 react-native-tab-view 作为标签

这是我在屏幕中用来呈现选项卡的代码

  render() {
    return (
      <SafeAreaView style={styles.layout.safeAreaView}>
        <View style={styles.layout.flexColumn}>
          <View style={styles.subHeader.container}>
            <View style={styles.subHeader.subContainer}>
              <Text style={styles.subHeader.service}>{convertService(this.props.client?.service)}</Text>
              <TextInput
                style={styles.subHeader.heroText}
                placeholder="Tap here to share something about this client."
                placeholderTextColor={styles.colors.textPlaceholder}
                maxLength={50}
                onChangeText={(text) => this.props.updateheronote(this.props.client?.id,text)}
                value={this.props.client?.heronote ? this.props.client?.heronote?.value || '' : ''}
              />
              <View style={styles.subHeader.details}>
                <View style={styles.layout.flexRow}>
                  <FontAwesome name='language' size={15} color={styles.colors.textInverse} style={{ marginRight: 10 }} />
                  <Text style={{
                    color: styles.colors.textInverse,fontSize: 15,}}>{this.props.client?.primaryLanguage}</Text>
                </View>
                <View style={styles.layout.flexRowJustifyEnd}>
                  <FontAwesome name='birthday-cake' size={15} color={styles.colors.textInverse} style={{ marginRight: 10 }} />
                  <Text style={{
                    color: styles.colors.textInverse,}}>{moment(this.props.client?.dateOfBirth).format('MMM Do YYYY')}</Text>
                </View>
              </View>
            </View>
          </View>
          <View
            style={{
              height: 5,backgroundColor: styles.colors.primary,}}
          />
          <TabView
            swipeEnabled={false}
            navigationState={this.state}
            renderScene={SceneMap({
              sessions: () => SessionsTab(this.props),details: () => DetailsTab(this.props),goals: () => GoalsTab(this.props),})}
            onIndexChange={index => this.setState({ index })}
            renderTabBar={this.renderTabBar}
            tabBarPosition='bottom'
            initialLayout={{ flex: 1 }}
          />
        </View>
      </SafeAreaView>
    );
  }
}

示例 alert 如下所示:

Alert.alert(
  'Out of Sessions','There are no sessions available for this client.',[
    {
      text: 'Cancel',onPress: () => { },style: 'cancel',},{
      text: 'Create Session',onPress: async () => {
        await createSession(option.customKey,props);
      },],{cancelable: false},);

return;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?