Estou com o mesmo problema da dúvida aberta no dia 15 de Dezembro do ano passado e que, por algum motivo não tem resposta adequada de ninguém do time da Alura.
Quando clico o botão de adicionar aparece o mesmo problema: ======== Exception caught by gesture =============================================================== The following assertion was thrown while handling a gesture: No TaskInherited found in context 'package:primeiro_projeto/data/task_inherited.dart': Failed assertion: line 25 pos 12: 'result != null'
Sim, é um problema de contexto. Q & A:
- Não não há problemas de configuração
- Sim, as rotas estão configuradas corretamente
Esse é o repositório do github do projeto: https://github.com/analubarreto/primeiro_projeto_flutter
Essa é o main.dart (sem os imports):
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
useMaterial3: true,
primarySwatch: Colors.deepPurple,
),
home: TaskInherited(
child: const InitialScreen(),
),
initialRoute: '/',
routes: {
'/form': (newContext) => FormScreen(context)
}
);
}
}
e acredito não ser necessário mais nada já que ao chamar Navigator.of(context).pushNamed('/form');
dentro do botão ele chama o widget que está no setado no routes.