![](/img/trans.png)
[英]How to Refresh previous Drawer Screen calling from 2nd Screen in Drawer navigation in React-native?
[英]How to open next screen on Right Button click of navigation drawer in react-native?
我想在react-native.
右键单击导航抽屉打开新屏幕react-native.
在登录submit
按钮上,我调用了以下代码:
登录.js
this.props.navigator.push({
id: 'FirstScreen',
title: 'First Screen',
iconRight: 'map',
rightPress: this.onPress, // method to redirect to second screen
rightText: 'list',
passProps: {
api_token: this.state.login_token
}
});
//navigate to second screen
onPress() {
this.props.navigator.push({
id: "SecondScreen",
title: 'Second Screen',
});
}
但我在这条线上遇到错误。
this.props.navigator.push({
id: "SecondScreen",
title: 'Second Screen',
});
得到这些错误:
未定义不是一个对象(评估'this.props.navigator')
未处理的 JS 异常:未定义不是对象(评估“this.props.navigator”)
应用程序.js
_renderScene(route, navigator) {
navigator.navigate = this.navigate;
switch (route.id) {
case ‘Login’:
return ( <Login navigator={navigator} {...route.passProps} />);
case ‘FirstScreen’:
return ( <FirstScreen navigator={navigator} {...route.passProps} />);
case 'SecondScreen':
return ( <SecondScreen navigator={navigator} {...route.passProps} />);
}
}
导航.js
module.exports = function (scene) {
var componentMap = {
'Login': {
title: 'Login',
id: 'Login'
},
'FirstScreen': {
title: 'First Screen',
id: 'FirstScreen'
},
'SecondScreen': {
title: 'Second Screen',
id: 'SecondScreen'
}
}
return componentMap[scene];
}
您可以简单地在导航器中更改this.onPress
方法,如下所示,并删除包含rightPress
行:
登录.js
this.props.navigator.push({
id: 'FirstScreen',
title: 'First Screen',
iconRight: 'map',
rightText: 'list',
passProps: {
api_token: this.state.login_token
}
});
onPress: () => {
this.props.navigator.push({
id: "SecondScreen",
title: 'Second Screen',
iconRight: 'map',
passProps: {
api_token: this.state.login_token,
username: this.state.username
},
});
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.