зачем использовать провайдеров во флаттере - PullRequest
0 голосов
/ 01 октября 2019

Что ж, я новичок во Flutter, у меня вопрос, почему мы используем провайдеров во Flutter, я знаю, что это используется для управления состоянием. Но я хочу знать наиболее распространенный вариант использования провайдеров

1 Ответ

1 голос
/ 01 октября 2019

Вы должны иметь возможность перемещать данные между вашими виджетами. Это простой способ сделать это.

Вы запускаете свой метод корневой сборки в приложении с помощью:

@override
  Widget build(BuildContext context) {
    return MultiProvider(  // Multi means you can have more providers if you need
      providers: [
        ChangeNotifierProvider(builder: (context) => MyStateClass()),
      ],
      child: MaterialApp(....

Теперь вы можете поместить все данные, которыми вы хотите поделиться, в MyStateClass()и поместите базовые виджеты внутри:

   Consumer<MyStateClass>(builder: (context, state, child) {

      // your code here - return(SomeOtherWidget());
    })

или внутри ваших методов сборки:

  @override
  Widget build(BuildContext context) {
   MyStateClass state = Provider.of<MyStateClass>(context);
   // ... TODO  ... return (Widget)

...