Как Shoutem v5 справляется с многоуровневой навигацией?

Примеры не показывают, как сделать ссылку с одного экрана на другой. Возможно ли это с помощью веб-интерфейса Shoutem v5?

1 ответ

Решение

Проверьте здесь в документации Shoutem для navigateTo Redux Action Creator. С помощью этой функции легко перейти на другой экран. Вы просто называете это и передаете это экран name и реквизит для экрана. Если вы хотите открыть экран из текущего расширения, используйте ext функция от app/extension.js файл.

Вот файл экрана:

import React, {
  Component
} from 'react';

import {
  TouchableOpacity,
  Text
} from 'react-native';

import { navigateTo } from '@shoutem/core/navigation';
import { ext } from '../extension';
import { connect } from 'react-redux';

class Screen extends Component {
  // method inside Screen component
  render() {
    const { navigateTo } = this.props;

    return (
      <TouchableOpacity onPress={() => navigateTo({
        screen: ext('AnotherScreen'),
        props: { }
      })}>
        <Text>Click here!</Text>
      </TouchableOpacity>
    );
  }
}

// connect screen to redux store
export default connect(
  undefined,
  { navigateTo }
)(Screen)

Таким образом, вы также можете подключить 2 разных расширения. Поскольку расширения представляют отдельные функции, все экраны уже связаны внутри. Вот почему вы не можете сделать это вручную внутри компоновщика, но сделать это в коде так же просто, как и в коде выше.

Другие вопросы по тегам