могу ли я использовать Touchables, такие как TouchableWithoutFeedback, вместо использования кнопки this.props.navigation.navigate для реагирования на встроенную навигацию - PullRequest
0 голосов
/ 25 июня 2018
<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?кто-нибудь может помочь?

1 Ответ

0 голосов
/ 25 июня 2018

Нет, это не обязательно.Вы можете использовать любую функцию для вашего 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}/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...