Делает переход пользователя по указанному адресу. Может открыть модальное окно поверх текущего окна
import { navigate } from '@app/ui'
navigate(url, params)
url*: string
Адрес по которому нужно совершить переход. Эта функция поддерживает только абсолютный URL. Для передачи относительных URL следует использовать ctx.account.navigate().
{ replace, openInModalScreen, fullScreenModal, openInExternalApp, resetStack }
Объект с дополнительными необязательными параметрами, указывающими как именно открыть переданный URL.
replace: boolean
По-умолчанию: false
Если true - новый экран заменит предыдущий в текущем стеке навигации/истории, а не добавится следующим, поэтому возврат "назад" с такого урла не будет учитывать тот URL на котором находился пользователь до перехода.
Также в мобильном приложении не произойдёт стандартной анимации перехода между экранами.
openInModalScreen: true | false | undefined
По-умолчанию: undefined
Позволяет открыть ссылку в модальном окне.
true
— новый экран откроется в новом модальном "слое" поверх текущего с соответствующей анимацией.
false
— ссылка гарантировано откроется НЕ в модальном "слое", а в базовом, если перед этим действием было открыто любое количество модальных "слоёв", то все они будут немедленно закрыты, а после этого произойдёт обычный navigate в базовом стеке. Обратите внимание, что false для данного свойства НЕ является пассивным значением по-умолчанию, как для большинства остальных.
undefined
— (не указан) навигация произойдёт в текущем стеке (базовом или модальном).
fullScreenModal: boolean
По-умолчанию: false
Применяется только вместе с openInModalScreen. Если true - модальное окно будет открыто на весь экран с крестиком, закрывающим его
openInExtrenalApp: boolean
По-умолчанию: false
В мобильном приложении: Позволяет открыть ссылку во внешнем приложении средствами мобильной ОС. В общем случае ссылка будет открыта в мобильном браузере по умолчанию.
В веб-версии: Ссылка будет открыта с помощью window.open() (скорее всего - в новой вкладке браузера).
resetStack: boolean
false
Отправит пользоватея в google, открыв новое окно
<button
class="secondary"
onClick={navigate("https://google.com", {openInExternalApp: true})}
>
в Google
</button>
Объекты ctx.account и ctx.router предоставляют свои методы navigate, которые строят относительные пути с учетом текущего аккаунта и текущего роутера соответственно
<button
class="secondary"
onClick={ctx.account.navigate("/")}
>
На главную
</button>
Следующий код отправит пользователя на роут /test , объявленный в рамках текущей страницы
<button
class="secondary"
onClick={ctx.router.navigate("/test")}
>
Go to test
</button>