navigate
This function allows the user to navigate to a specified address. It can open a modal window over the current window.
Usage/Signature
import { navigate } from '@app/ui'
navigate(url, params)
Arguments
url*: string
The address to which the transition should occur. This function only supports absolute URLs. For relative URLs, use ctx.account.navigate().
params: { replace, openInModalScreen, fullScreenModal, openInExternalApp, resetStack }
An object with additional optional parameters that specify how to open the provided URL.
-
replace:
boolean-
Default:
false -
If true, the new screen will replace the previous one in the current navigation stack/history instead of being added next, so going "back" from such a URL will not consider the URL the user was on before the transition.
-
Also, in the mobile application, there will be no standard transition animation between screens.
-
-
openInModalScreen:
true | false | undefined-
Default:
undefined -
Allows opening the link in a modal window.
-
true— the new screen will open in a new modal "layer" over the current one with the corresponding animation. -
false— the link will definitely NOT open in a modal "layer," but in the base layer; if any number of modal "layers" were opened before this action, all of them will be immediately closed, and then a regular navigate will occur in the base stack. Note that false for this property is NOT a passive default value like for most others. -
undefined— (not specified) navigation will occur in the current stack (base or modal).
-
-
fullScreenModal:
boolean-
Default:
false -
Only applies when used with openInModalScreen. If true, the modal window will open in full screen with a close button.
-
-
openInExternalApp:
boolean-
Default:
false -
In the mobile application: Allows opening the link in an external application using the mobile OS's capabilities. Generally, the link will open in the default mobile browser.
-
In the web version: The link will be opened using
window.open()(most likely in a new browser tab).
-
-
resetStack:
boolean- Default:
false - Only applies in the application. If true, the link will open with a full stack (there will be no option to go back).
- Default:
Examples
Sends the user to Google, opening a new window
<button
class="secondary"
onClick={navigate("https://google.com", {openInExternalApp: true})}
>
to Google
</button>
<!-- TODO button to Google -->
The ctx.account and ctx.router objects provide their own navigate methods, which build relative paths considering the current account and the current router, respectively.
<!-- TODO pass links -->
<button
class="secondary"
onClick={ctx.account.navigate("/")}
>
To Home
</button>
<!-- TODO To Home -->
The following code will send the user to the route /test, declared within the current page.
<button
class="secondary"
onClick={ctx.router.navigate("/test")}
>
Go to test
</button>
<!-- TODO Go to test -->