gpt4 book ai didi

javascript - 如何在 react-native 中单击抽屉导航的右键单击打开下一个屏幕?

转载 作者:行者123 更新时间:2023-11-29 11:53:36 24 4
gpt4 key购买 nike

我想在 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',
});

出现这些错误:

Undefined is not an object (evaluating 'this.props.navigator')

Unhandled JS Exception: undefined is not an object (evaluating 'this.props.navigator')

App.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} />);
}
}

Navigation.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
},

});
}
});

关于javascript - 如何在 react-native 中单击抽屉导航的右键单击打开下一个屏幕?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40039864/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com