我有一个标题和一个购物车按钮。此按钮用于导航到购物车屏幕。当我按下按钮时,我看到了错误。
错误:未定义不是对象(正在评估'_this3.props.navigation.navigate')
标头位于标头文件的标头类中:我在其他屏幕(如电子钱包屏幕)中使用标头。
<Header style={styles.headerStyle}>
<Body>
<Text>Logo</Text>
</Body>
<Right>
<TouchableOpacity activeOpacity={0.5} onPress={() => {
this.props.navigation.dispatch(StackActions.reset({
index: 0,
actions: [
NavigationActions.navigate({ routeName: 'Cart'
})
],
}))
}}>
<Icon type="MaterialCommunityIcons" name="washing-machine"/>
{this.state.cartCountNumber != 0 ?(
<View style={styles.cartCountBox}>
<Text>{this.state.cartCountNumber}</Text>
</View>
):null}
</TouchableOpacity>
</Right>
</Header>
钱包屏幕:当我在钱包中使用新闻内容时,它起作用了!
export default class WalletScreen extends React.Component{
render() {
return (
<Container>
<HeaderShow /> // My header is here !!!!!!!!!!!!!!!!!!
<Content>
<Text>Wallet Screen</Text>
// When I use button and on-press here, working fine!
</Content>
</Container>
);
}
}
如果您在“电子钱包”屏幕中访问this.props.navigation,则在将导航道具添加到“电子钱包中的标题”屏幕后,它将起作用;
export default class WalletScreen extends React.Component {
render() {
return (
<Container>
<HeaderShow navigation={this.props.navigation}/> // My header is here !!!!!!!!!!!!!!!!!!
<Content>
<Text>Wallet Screen</Text>
// When I use button and on-press here, working fine!
</Content>
</Container>
);
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句