<TouchableWithoutFeedback onPress={()=>this.props.navigation.navigate('Home')} >
{
this.props.type!=='1' ? <Icon2 name="chevron-with-circle-left" size={28}/>
: <Icon name='chevron-left' style={{ color: "#16527e" }} size={35}/>
}
</TouchableWithoutFeedback>
此代码显示this.props.navigation.navigate不是对象的错误。是否有必要使用按钮进行导航以使用this.props.navigation.navigate?有人可以帮忙吗?
不,这是没有必要的。您可以为onPress使用任何功能。我认为问题是你的导航对象..是不确定的?
尝试使用此代码并阅读它的记录:
<TouchableWithoutFeedback
onPress={()=> console.log("Navigation is :", this.props.navigation}>
{ this.props.type!=='1'?
<Icon2 name="chevron-with-circle-left" size={28}/>
: <Icon name='chevron-left' style={{ color: "#16527e" }}
size={35}/>
}
</TouchableWithoutFeedback>
确保导航包含“导航”功能,如果有必要,甚至记录“this.props.navigation.navigate”。
最后确保正确配置react-navigation。
更多:如果您尝试在演示组件中使用导航,请确保导航是容器组件内的对象,并将导航作为道具传递下来。如果react-navigation打开页面XYZ,请确保navigation.navigate在XYZ中工作,并将其作为prop传递给其他组件。如果XYZ从反应导航路由打开,它应该有this.props.navigation。 XYZ呈现ABC。 XYZ应该将this.props.navigation传递给ABC作为道具:
<ABC navigation = {this.props.navigation}/>