React Native:按钮onPress无法正常工作
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了React Native:按钮onPress无法正常工作相关的知识,希望对你有一定的参考价值。
导航无法按下按钮。这是我的登录页面。我想从主屏幕注销登录屏幕onPressLogout()
index.js
class Profile extends Component{
static propTypes = {
navigator: PropTypes.shape({
getCurrentRoutes: PropTypes.func,
jumpTo: PropTypes.func,
}),
}
onPressLogout() {
const routeStack = this.props.navigator.getCurrentRoutes();
this.props.navigator.jumpTo(routeStack[0]);
}
render(){
return (
<Container>
<View style={styles.container}>
<Header>
<Button
style={styles.button}
onPress={() => this.onPressLogout()}
>
<Icon name="ios-power" />
</Button>
<Title>Logout</Title>
</Header>
</Container>
);
}
并在routeStack中
const routeStack = [
{ name: 'Login', component: Login},
]
答案
要么使用.bind()
来改变this
的背景。或者,使用箭头功能。
bind()
这需要一个构造函数。
constructor() {
super();
this.onPressLogout = this.onPressLogout.bind(this);
}
箭头功能
onPressLogout = () => {
const routeStack = this.props.navigator.getCurrentRoutes();
this.props.navigator.jumpTo(routeStack[0]);
}
边注:
你可以在这里做一些ES6解构
onPressLogout = () => {
const {
navigator: {
getCurrentRoutes,
jumpTo
}
} = this.props;
const routeStack = getCurrentRoutes();
jumpTo(routeStack[0]);
}
以上是关于React Native:按钮onPress无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章
如何在 react-native 的 onPress 按钮上滚动底部?
如何在 react-native 中的 onPress 按钮上滚动顶部?
React Native:onPress:如何切换按钮文本和函数调用?
React Native Paper 按钮不会触发 onpress