Невозможно вызвать маршрут страницы материала в классе состояния с задержкой asyn c - PullRequest
0 голосов
/ 07 августа 2020

Я пытаюсь отобразить экран spla sh на несколько секунд, а затем пытаюсь перейти на следующий экран, но получаю эту ошибку. Вероятно, из-за доступа к контексту в методах iniState, но я также использую asyn c, поэтому не думаю, что в этом должна быть какая-либо проблема.

E/flutter ( 6663): [ERROR:flutter/lib/ui/ui_dart_state.cc(166)] Unhandled Exception: NoSuchMethodError: The method 'findAncestorStateOfType' was called on null.
E/flutter ( 6663): Receiver: null
E/flutter ( 6663): Tried calling: findAncestorStateOfType<NavigatorState>()
E/flutter ( 6663): #0      Object.noSuchMethod  (dart:core-patch/object_patch.dart:51:5)
E/flutter ( 6663): #1      Navigator.of 
package:flutter/…/widgets/navigator.dart:2185
import 'package:awsomeNotes/appUtilities/dimensions.dart';
import 'package:awsomeNotes/views/phoneAuthPage/phoneAuthPage.dart';
import 'package:flutter/material.dart';

class SplashScreen extends StatefulWidget {
  @override
  _SplashScreenState createState() => _SplashScreenState();
}

class _SplashScreenState extends State<SplashScreen> {

  
  nextPage() async {
    await Future.delayed(Duration(seconds: 5));
    Navigator.push(
      context,
      MaterialPageRoute(
        builder: (context) => PhoneAuthPage(),
      ),
    );
  }

  @override
  void initState() {
    nextPage();
    super.initState();
  }

  @override
  Widget build(BuildContext context) {
    Dimensions(context);
    return Material(
      child: Center(
        child: Text(
          "This is Splash Screen",
          style: TextStyle(fontSize: Dimensions.boxHeight * 5),
        ),
      ),
    );
  }
}

Я перехожу на следующую страницу, но с указанная ошибка.

...