我可以在 react 本机导航中使用像 TouchableWithoutFeedback 这样的可触摸对象,而不是使用


<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>

确保导航包含"navigate"功能,如有必要,甚至记录"this.props.navigation.navigate"。

最后,确保正确配置反应导航。

更多:如果您尝试在表示组件中使用导航,请确保导航是容器组件中的对象,并将导航作为道具向下传递。如果 react-navigation 打开页面 XYZ,请确保 navigation.navigation 在 XYZ 中工作,并将其作为道具传递给其他组件。 如果 XYZ 从 react-navigation 路由打开,它应该有 this.props.navigation。XYZ 渲染 ABC。XYZ 应该将 this.props.navigation 作为道具传递给 ABC:

<ABC navigation = {this.props.navigation}/>

最新更新