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

问题描述

在我的 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.JdbcOdbc...