反应导航 - 动画,替换屏幕和标签

时间:2017-05-31 13:26:19

标签: react-native react-navigation

我在我的应用程序中使用了React-Navigation,但我找不到办法做一些事情。 首先,我想改变过渡动画,但无论如何我都找不到,如果你们能帮助我,我会很高兴。

其次,我有一个登录屏幕,当登录时,用户被移动到主屏幕,在主屏幕上我得到一个后退按钮,所以我可以再次登录(我不想要)我尝试使用此代码:

handlePress(navigate){
    firebaseRef.auth().signInWithEmailAndPassword(this.state.email, this.state.password).then(function(firebaseUser){
      //Success, move to homepage.
      navigate.replace("Home");
    }).catch(function(error){
      //Failed to log in, print error.
    }); 
}

但是它没有工作,没有任何反应(它不会导航到家中),只有当我使用navigate("Home");导航到家时。

这是导航(内部渲染):

const { navigate } = this.props.navigation;

第三,我有几个屏幕(登录,注册,家庭和朋友),这是我的StackNavigator:

const Stylelist = StackNavigator({
  Login:{
     screen: LoginScreen,
     navigationOptions: ({navigation}) =>({
       header: null,
     }),
  },
  Register:{
      screen: RegisterScreen,
      navigationOptions: ({navigation}) =>({
        header: null,
      }),
  },
  Home:{
     screen: HomeScreen,
     navigationOptions: ({navigation}) =>({
       header: "float",
       title: "Home",
     }),
  },
});

我希望主屏幕也能成为TabNavigator的一部分(使用Friends屏幕。) 我在网上搜索但无法找到如何做到这一点。 你能帮助我吗?给我信息来源/例子。 提前谢谢!

2 个答案:

答案 0 :(得分:4)

这应删除后退按钮,请参阅doc

TextView tv = new TextView (new ContextThemeWrapper(this, R.style.mystyle), null, 0);

答案 1 :(得分:1)

import {StackActions} from 'react-navigation';
import {NavigationActions} from 'react-navigation';

const resetAction = StackActions.reset({
    index: 1,
    actions: [
        // add other screen if you want
        NavigationActions.navigate({routeName: 'screen2'}),
        NavigationActions.navigate({routeName: 'newScreen'}),
    ],
});