7.13. Navegação e roteamento em Flutter: Navegação com parâmetros opcionais

Página 98

A navegação e o roteamento são partes essenciais do desenvolvimento de aplicativos. No Flutter, a navegação e o roteamento são gerenciados com a ajuda do widget Navigator e das rotas. A navegação se refere ao processo de mover-se entre diferentes telas de um aplicativo, enquanto o roteamento se refere ao mapeamento de URLs ou outros identificadores para telas específicas. Este capítulo abordará a navegação com parâmetros opcionais no Flutter.

Para começar, é importante entender o que são parâmetros opcionais. Em Dart, os parâmetros opcionais são argumentos que você pode passar para uma função, mas não são necessários. Isso é útil quando você tem uma função que pode aceitar vários argumentos, mas você só precisa passar alguns deles. No contexto da navegação no Flutter, os parâmetros opcionais são usados para passar dados entre as telas.

No Flutter, a navegação entre as telas é feita através do widget Navigator. O widget Navigator funciona como uma pilha, onde você pode empurrar (push) novas rotas para a pilha e elas serão exibidas na tela. Quando você quer voltar para a tela anterior, você pode estourar (pop) a rota atual da pilha.

Para passar dados entre as telas, você pode usar os parâmetros opcionais. Por exemplo, vamos supor que você tem uma lista de itens, e quando o usuário clica em um item, você quer navegar para uma nova tela que mostra os detalhes desse item. Você pode passar o item como um parâmetro opcional para a nova rota.

Aqui está um exemplo de como você pode fazer isso:

Navigator.push(
  context,
  MaterialPageRoute(
    builder: (context) => DetailScreen(item: item),
  ),
);

Na função acima, estamos empurrando uma nova rota para a pilha do Navigator. A nova rota é criada usando a função MaterialPageRoute, que aceita uma função builder. A função builder é usada para construir a tela que será exibida. No nosso caso, estamos construindo uma tela DetailScreen e passando o item como um parâmetro opcional.

Na tela DetailScreen, você pode acessar o item passado como um parâmetro opcional da seguinte maneira:

class DetailScreen extends StatelessWidget {
  final Item item;

  DetailScreen({Key key, @required this.item}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(item.name),
      ),
      body: Padding(
        padding: EdgeInsets.all(16.0),
        child: Text(item.description),
      ),
    );
  }
}

Na classe DetailScreen, estamos definindo o item como um campo final, o que significa que ele deve ser inicializado quando a classe é instanciada. Estamos usando o construtor da classe para inicializar o item, e estamos marcando o item como @required, o que significa que ele deve ser fornecido quando a classe é instanciada.

Em seguida, estamos usando o item para construir a interface do usuário na função build. Estamos usando o nome do item como o título da AppBar e a descrição do item como o texto do corpo.

Em resumo, a navegação com parâmetros opcionais no Flutter é uma maneira poderosa de passar dados entre as telas. Ao combinar o poder do widget Navigator com os parâmetros opcionais do Dart, você pode criar aplicativos complexos com várias telas e dados dinâmicos.

Now answer the exercise about the content:

O que são parâmetros opcionais no contexto da navegação no Flutter e como eles são usados?

You are right! Congratulations, now go to the next page

You missed! Try again.

Next page of the Free Ebook:

997.14. Navegação e roteamento em Flutter: Navegação com animações

Earn your Certificate for this Course for Free! by downloading the Cursa app and reading the ebook there. Available on Google Play or App Store!

Get it on Google Play Get it on App Store

+ 6.5 million
students

Free and Valid
Certificate with QR Code

48 thousand free
exercises

4.8/5 rating in
app stores

Free courses in
video, audio and text