#flutter #navigation #provider #changenotifier
#флаттер #навигация #поставщик #changenotifier
Вопрос:
Ниже приведен код mainform.dart при индивидуальном запуске, т.Е. Сохранение Dart entrypint: как mainform.dart работает нормально и перенаправляет или переходит на правильную страницу, т.е. Feed ();
mainform.dart
import 'package:sqlite_crud_flutter/detail.dart';
import 'package:sqlite_crud_flutter/login.dart';
import 'package:sqlite_crud_flutter/notifier/food_notifier.dart';
import 'package:sqlite_crud_flutter/feed.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'notifier/auth_notifier.dart';
void main() => runApp(MultiProvider(
providers: [
ChangeNotifierProvider(
create: (context) => AuthNotifier(),
),
ChangeNotifierProvider(
create: (context) => FoodNotifier(),
),
],
child: MainFormPage(),
));
class MainFormPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
title: 'Application Name',
theme: ThemeData(
primarySwatch: Colors.blue,
accentColor: Colors.lightBlue,
),
home: Consumer<AuthNotifier>(
builder: (context, notifier, child) {
return Feed();
},
),
);
}
}
Но где, когда я хочу перенаправить на страницу Feed () с другого экрана или страницы моего основного приложения с помощью
onTap: () {
Navigator.push(context, MaterialPageRoute(builder: (context) =>
MainFormPage()
)
);
},
Я вижу пустой экран с ошибкой
Было выдано другое исключение: экземпляр ‘DiagnosticsProperty<void>'»
Как перейти на страницу подачи с другого экрана?
Скриншот ошибки, отображаемой на мобильном устройстве при отладке:
Комментарии:
1. Можете ли вы добавить журналы с ошибкой из консоли в вопрос?
2. Хорошо, я уже выдал показанную ошибку, т.е. » Было выдано другое исключение: экземпляр ‘DiagnosticsProperty'» . Я также попытаюсь найти журнал ошибок.
3. Соответствующий виджет, вызывающий ошибку, был: Consumer<AuthNotifier> Когда возникло исключение, это был стек: #0 Provider._inheritedElementOf (пакет: provider / src / provider.dart:309:7) #1 Provider.of (пакет: provider /src /provider.dart:261:30) #2 Consumer.buildWithChild (пакет: provider/ src / consumer.dart:177:16) #3 SingleChildStatelessWidget.build (пакет: вложенный / nested.dart:260:41) #4 StatelessElement.build (пакет: flutter / src / widgets/framework.dart: 4620: 28)
4. @srk2K21 вы хотите сказать, что при переходе со второй страницы на
MainFormPage()
следующую произошла эта ошибка?5. Да, у меня есть основное приложение, и в нем с одной из страниц или экрана, например, страницы «mobiles.dart», я хочу перенаправить на MainFormPage (), которая в конечном итоге должна перенаправить меня на страницу ленты, т.Е. Feed (), как показано в коде