我可以使用像TouchableWithoutFeedback这样的Touchables而不是使用this.props.navigation.navigate的按钮进行反应原生导航

问题描述 投票:0回答:1
<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?有人可以帮忙吗?

react-native react-navigation
1个回答
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。

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

<ABC navigation = {this.props.navigation}/>
© www.soinside.com 2019 - 2024. All rights reserved.