Flutter Equivalent useProvider в новой версии Riverpod

В предыдущей версии мы могли использовать простоuseProvider()и отправка запроса на сервер без каких-либо действий, таких как нажатие кнопки, поэтому в новой версии я не могу.

старая версия:

      useEffect(() {
  myService.getService();
});

Scaffold(
  body: Container(
    width: double.infinity,
    height: double.infinity,
    color: Colors.white,
    child:
    useProvider(myServiceServiceProvider).when(
      idle: () {},
      loading: (){},
      success: (value){},
      error: (error, stackTrace){},
    ),
  ),
),

и моя реализация в новой версииriverpod:

      class Home extends HookConsumerWidget {
  const Home({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context, WidgetRef ref) {

    //final future = ref.watch(dataProvider);
    useEffect(() {
      ref.read(requestProvider.notifier).send(
        method: HTTP.GET,
        endPoint: Server.$posts,
        parameters: {},
      );
      return () {};
    });

return Scaffold(
  body: Container(
    width: double.infinity,
    height: double.infinity,
    color: Colors.white,
    //HOW CAN IMPLEMENT THIS PART TO SHOW DATA IN LISTVIEW?
  ),
),

1 ответ

Это то, что вы ищете?

      ref.watch(myServiceServiceProvider).when(
      idle: () {},
      loading: (){},
      data: (value){},
      error: (error, stackTrace){},
    )
Другие вопросы по тегам