FutureProvider: как создать экран ошибок с помощью catchError - PullRequest
0 голосов
/ 07 августа 2020

Я использую шаблон провайдера для своего приложения. Я пытаюсь реализовать альтернативный экран ошибок с помощью FutureProvider. Я использую вызов API. Если вызов api возвращается с ошибкой, я хочу увидеть экран ошибки, как в FutureBuilder. Но ничего не выходит. Я не вижу изменений на экране. Он игнорирует проверку ошибок. Но ошибка видна в консоли.

Код:

    Widget build(BuildContext context) {
    bool checkError = false;
    return FutureProvider(
      lazy: false,
      create: (context) =>
          Provider.of<DataProvider>(context, listen: false).getData(),
      updateShouldNotify: (_, __) => true,
      catchError: (context, error) {
        checkError = true;
      },
      child: checkError
          ? Center(
              child: Text('Something went wrong. Try later.'),
            ): DataList(),
    );
  }
...