Нет, это не обязательно.Вы можете использовать любую функцию для вашего 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».
В конце убедитесь, что реагирующая навигация настроена правильно.
Что-то еще: если вы пытаетесь использоватьНавигация внутри презентационного компонента, убедитесь, что навигация является объектом внутри контейнерного компонента, и передайте навигацию вниз как опору.Если реакция-навигация открывает страницу XYZ, убедитесь, что навигация. Navigate работает в XYZ, и передайте ее другим компонентам в качестве реквизита.Если XYZ открывается из маршрутизации реагирующей навигации, он должен иметь this.props.navigation.XYZ оказывает ABC.XYZ должен передать this.props.navigation в ABC в качестве реквизита:
<ABC navigation = {this.props.navigation}/>