Как перейти на следующую вкладку при нажатии на текст в React Native с помощью TabView? - PullRequest
0 голосов
/ 04 марта 2020

Я новичок в React Native. Я использую TabView [act-native-tab-view - npm] в моем проекте. Я объявил один констант для экранов рендеринга, как:

const renderScene = SceneMap({
      signin: Sign_in,
       signup: Sign_up,
  });

и когда при нажатии на текст я хочу перейти на следующую вкладку и написать код, как показано ниже:

<Text style={style.signup_text} onPress={() => { this.props.jumpTo('signup') }}>Sing Up</Text>

Работает нормально, но когда я измените мой код, чтобы передать свойство навигации в класс этой вкладки, а не в его работающий код. Код выглядит так:

const renderScene = SceneMap({
        signin: () => <Sign_in navigation={navigation} />,
        signup: () => <Sign_up navigation={navigation}  />,
    });

Теперь, как я могу перейти к следующей вкладке. Использование приведенного выше кода jumpTo не работает. Я надеюсь, вы поймете, что я хочу объяснить.

1 Ответ

1 голос
/ 04 марта 2020

Если вы хотите отправить пользовательские реквизиты для компонентов, вы должны изменить renderScene на

const renderScene = (props) => {
    switch (props.route.key) {
      case 'signin':
        return <Sign_in {...props} {...{navigation}} />;
      case 'signup':
        return <Sign_un {...props} {...{navigation}}/>;
      default:
        return null;
    }
  }
...