我在我的应用程序中使用了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屏幕。) 我在网上搜索但无法找到如何做到这一点。 你能帮助我吗?给我信息来源/例子。 提前谢谢!
答案 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'}),
],
});