при использовании виджета поставщика флаттера возникает следующая ошибка - PullRequest
0 голосов
/ 04 августа 2020
    The argument type 'Widget Function(BuildContext)' can't be assigned to the parameter type 'Widget 
     Function(BuildContext, Widget)'.

Я получаю следующую ошибку при использовании виджета поставщика во флаттере

    import 'package:todoey_flutter/Screens/tasks_screens.dart';
    import 'package:todoey_flutter/models/task_data.dart';

      void main() {
          runApp(MyApp());
       }
  class MyApp extends StatelessWidget {
     @override
    Widget build(BuildContext context) {
return ChangeNotifierProvider(
  builder: (context)=> TaskData(),
  child: MaterialApp(
    home:TasksScreen(),
  ),
);
 }
  }

Ниже приведен код в файле, содержащем этот класс TaskData

  import 'package:flutter/cupertino.dart';
  import 'package:flutter/material.dart';
  import 'task.dart';
  class TaskData extends ChangeNotifier{
     List<Task> tasks =[
       Task(name: 'buy milk'),
       Task(name:'buy eggs'),
       Task(name: 'buy bread'),

                        ];
                        }

1 Ответ

1 голос
/ 04 августа 2020

https://pub.dev/packages/provider#migration -from-v3x0-to-v400
builder классического providers следует заменить на create.
Вы можете изменить builder на create

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return ChangeNotifierProvider(
      create: (context) => TaskData(),
      child: MaterialApp(
        home: TasksScreen(),
      ),
    );
  }
}
...