当前位置: 首页 > 知识库问答 >
问题:

访问其他堆栈导航器时,react导航不起作用

程冥夜
2023-03-14

我的导航有问题。这是我的导航码。

const StartStack = createStackNavigator({
    First: EmptyScreen,
    Splash: SplashScreen 
},
{
    transitionConfig: () => fromBottom(),
});
const AppStack = createStackNavigator({
    Home: TabSet
},
{
   transitionConfig: () => fromRight(),
});
const AuthStack = createStackNavigator({ 
   SignIn: SignInScreen,
   SignUp: SignUpScreen,
   ForgotPassword: Forhtml" target="_blank">gotPasswordScreen
},
{
    transitionConfig: () => fromTop(),
});

export default createAppContainer(createSwitchNavigator({
   Start: StartStack,
   Auth: AuthStack,
   App: AppStack,
},
{
  initialRouteName: 'Start',
}));
import React , { Component } from 'react';
import { View } from 'react-native';
import * as navOptions from '../../navigate/navigationOptions';
import BackgroundImage from '../../components/BackgroundImage';

class TabSet extends Component{

    static navigationOptions = { headerStyle: navOptions.headerStyle};

    render(){
        return(
            <View>
                <BackgroundImage>
                </BackgroundImage>
            </View>
        );
    }
}

export default TabSet;
export const headerStyle = {
    display:'none'
}
import React , { Component } from 'react';
import { View , ImageBackground , StyleSheet } from 'react-native';
import backgroundImage from '../../assets/images/backgroundImage.png';

class BackgroundImage extends Component{
    render(){
        return(
            <View>
                <ImageBackground 
                    source={backgroundImage} 
                    style = {styles.bgImg}
                    imageStyle = {{resizeMode : 'stretch'}}>
                        {this.props.children}
                 </ImageBackground>
            </View>
        )
     }
 }
 const styles = StyleSheet.create({
  bgImg : {
    width: '100%',
    height: '100%'
  }
 })
 export default BackgroundImage;

我创建了三个堆栈,如AppStack、StartStack和AuthStack。这些是在createAppContainer()函数中使用的,希望访问这些

this.props.navigation.navigate('App')

... 我可以访问

this.props.navigation.navigate(开始)

this.props.navigation.navigate('Auth')

. 这两个堆栈工作得很好。然后我使用,

this.props.navigation.navigate('App')

我看到AppStack的第一页,主屏幕被渲染,然后突然回到AuthStack的登录屏幕。然后我再次尝试导航,同样的事情再次发生。我使用redux并进行redux集成导航。因为我认为这是一个重复的问题。但问题依然存在。所有这些都运行良好,但每次我导航到AppStack时,它都会返回到AuthStack。任何人都能解决这个问题,请帮帮我!

共有1个答案

倪培
2023-03-14

花了几个小时,我才明白问题出在哪里!

setInterval(()=>{
  ***...some process***
  }else{
    clearInterval(this);
    this.props.navigation.navigate('Auth');
  }
},500);

此代码是在启动屏幕中编写的。我想间隔时间已经过去了。但真的不清楚,我试着去AppStack,它每500毫秒返回一次Auth。上面的代码是一个旧的,我不记得了!

 类似资料:
  • 我需要一些关于react原生应用程序的社区建议。我是一个全新的人,不理解其中的一些基本区别。 关于反应本地文档创建StackNavigator的示例建议如下:从“反应导航堆栈”导入{createStackNav导航仪}; 我发现很多人使用下面的样式导入{堆栈导航器,Tab导航器}从“反应导航”; 为什么人们使用以上两种不同的风格?哪一个更合适,为什么? react-navigation-stack

  • 我已经从连接到NavController的导航抽屉中导航到了DialogFragment。但当我导航到另一个目标时,我已经将弹出窗口设置为包含对话框片段,但它并没有清除堆栈。如何清除堆栈? AM从LogoutDialog调用此方法 我只使用片段和一个活动。 这是我导航图的一部分

  • 我正在尝试使用导航组件导航到另一个活动(登录)。 目前,活动1具有导航图1,活动2具有导航图2。 我在中为添加了一个目标。当我导航时,我得到一个空白屏幕,尽管有一个导航图,其中包含另一个片段的起始目标。 没有被调用,或者至少没有被我在中的断点击中。 当我在navGraph1中嵌套navGraph2时,我可以导航到navGraph2中的起始目标片段。navGraph2中的这个起始目的地位于compo

  • 我尝试使用Android导航组件,但后堆栈有问题。 我有片段A,B。要从A导航到B,我写下: 但我如何才能返回到点击的返回按钮?

  • 导航器(navigator)是显示在主图下方的用来展示所有数据的数据列小图形,它提供对整个图表进行缩放、平移操作。 导航器默认显示的 Highstock 中的第一个数据列,可以使用 series.showInNavigator 来指定指定需要显示在导航器中的数据列 series: [{ showInNavigator: false }, { showInNavigator: tru