React Navigation пройти навигационную опору - PullRequest
0 голосов
/ 25 апреля 2019

В соответствии с документацией реагирования на навигацию реквизиты навигации передаются при выборе экрана из стекового навигатора.

Например, если у меня зарегистрировано два маршрута: Детали HomeScreen

export default class HomeScreen extends React.Component {


  render() {
    return (
      <View style={styles.container}>
      <Button
        onPress={() => this.props.navigation.navigate('Details')}>
        <Text>Press me</Text>
      </Button>
      </View>
    );
  }

}

Достаточно просто!Однако давайте предположим, что у меня есть другой компонент, который называется:

export default class HomeScreen extends React.Component {


  render() {
    return (
      <View style={styles.container}>
      <MyOtherComponent />
      </View>
    );
  }

}

, и я бы хотел, чтобы это было:

<Button
            onPress={() => this.props.navigation.navigate('Details')}>
            <Text>Press me</Text>
          </Button>

, как бы я это сделал?Буду ли я передавать реквизит из HomeScreen в MyOtherComponent?

1 Ответ

0 голосов
/ 25 апреля 2019

Я действительно нашел ответ в документах. Для кого-то еще это может помочь, если не пройти через все документы, подобные мне.

Я могу использовать withNavigation

В примере MyOtherComponent я могу сделать следующее:

import {withNavigation} из реагирующей навигации;

class MyOtherComponent extends React.Component {
render stuff here
}

экспорт по умолчанию с навигацией (MyBackButton);

...