提供者与FutureBuilder一起无法正常工作

时间:2020-07-29 02:48:13

标签: flutter

我正在尝试使用provider方法创建一个api结构。不知道为什么,但是我遇到了这个错误:

flutter:抛出了以下ProviderNotFoundException异常 ShowData(脏,状态:颤动: _ShowDataState#947a8):颤动:错误:在此上方找不到正确的提供者 ShowData抖动:小部件

似乎错误是由我提供的函数引起的,但不确定是什么问题。这是代码:

class CoolDataProvider extends ChangeNotifier {
  CoolDataResponse coolDataResponse;
  ApiProvider _provider = ApiProvider();

  Future<CoolDataResponse> fetchCoolData() async {
    try {
      final responseJson = await _provider.get('cool/data');
      print(responseJson);
      return CoolDataResponse.fromJson(responseJson);
    } catch (e) {
      print('erroooooooor');
      return null;
    }
  }
}

class ShowData extends StatefulWidget {
  @override
  _ShowDataState createState() => _ShowDataState();
}

class _ShowDataState extends State<ShowData> {
  @override
  Widget build(BuildContext context) {
    return FutureBuilder<CoolDataResponse>(
        future: Provider.of<CoolDataProvider>(context, listen: false)
            .fetchAllCoolDatas(),
        builder: (context, snapshot) {
          return Text('data');
        });
  }
}

0 个答案:

没有答案