<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不是object。使用this.props.navigation.navigate进行导航需要按钮吗?有人可以帮忙吗?
答案 0 :(得分:0)
否,没有必要。您可以为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打开页面XYZ,请确保navigation.navigate在XYZ中工作并将其作为道具传递给其他组件。 如果XYZ从反应导航路由打开,则它应具有this.props.navigation。 XYZ渲染ABC。 XYZ应该将this.props.navigation作为道具传递给ABC:
<ABC navigation = {this.props.navigation}/>