NavigationContext

Descrição da funcionalidade NavigationContext

O que é?

É uma estrutura presente na maioria das ações de navegação. Ela define um contexto especial, chamado “navigationContext”, que é criado na tela de destino.

Veja abaixo a estrutura:

AtributoTipoObrigatórioDefinição
valueAnyNovo valor a ser aplicado no contexto
pathStringCaminho na extrutura do NavigationContext

Como usar?

O Navigation Context é utilizado quando se quer enviar informações de uma tela a outra. Abaixo, temos uma tela com um botão, que ao ser clicado, carrega uma nova view (que representa outra tela). A informação contida no atributo value do “navigationContext” será salva no escopo da nova tela. Essa informação poderá ser acessada através da expressão "@{navigationContext.text}" na nova tela somente.

Veja o exemplo abaixo:

Screen(
    child = Button(
        text = "Click me!",
        onPress = listOf(
            Navigate.PushView(
                route = Route.Local(
                    Screen(
                        child = Text(expressionOf("@{navigationContext.text}"))
                    )
                ),
                navigationContext = NavigationContext(
                    value = "textFromNavigation",
                    path = "text"
                )
            )
        )
    )
)