Параметр «answerQuestion» не может иметь значение «null» из-за его типа «Функция», но неявное значение по умолчанию равно «null»

#flutter #dart

Вопрос:

 import 'package:flutter/material.dart';  import './question.dart'; import './answer.dart';  class Quiz extends StatelessWidget {  final Listlt;Maplt;String, dynamicgt;gt; questions;  final int questionIndex;  final Function answerQuestion;   Quiz({  @required this.answerQuestion,  @required this.questions,  @required this.questionIndex,  });   @override  Widget build(BuildContext context) {  return Column(  children: [  Question(  questions[questionIndex]['question'],  ),  ...(questions[questionIndex]['answers'] as Listlt;Maplt;String, dynamicgt;gt;)  .map((answer) =gt;  Answer(() =gt; answerQuestion(answer['score']), answer['text']))  .toList()  ],  );  } }  

показывая это

терминал показывает это

lib/quiz.dart:12:20: Ошибка: Параметр «Вопрос ответа» не может иметь значение «null» из-за его типа «Функция», но неявное значение по умолчанию равно «null».

  • «Функция» происходит от «dart:ядро». Попробуйте добавить либо явное значение по умолчанию, отличное от «null», либо модификатор «требуется». @требуется это.ответ на вопрос, ^^^^^^^^^^^^^^ lib/quiz.dart:13:20: Ошибка: Параметр «вопросы» не может иметь значение «null» из-за его типа » Списокlt;Картаlt;Строка, динамическаяgt;lt;Строка, динамическаяgt;gt;», но неявное значение по умолчанию «null».
  • «Список» взят из «dart:ядро».
  • «Карта» взята из «дротика:ядро». Попробуйте добавить либо явное значение по умолчанию, отличное от «null», либо модификатор «требуется». @требовал этого.вопросы, ^^^^^^^^^ lib/quiz.dart:14:20: Ошибка: параметр «questionIndex» не может иметь значение «null» из-за его типа «int», но неявное значение по умолчанию равно «null». Попробуйте добавить либо явное значение по умолчанию, отличное от «null», либо модификатор «требуется». @требовал этого.Вопросиндекс, ^^^^^^^^^^^^^

Комментарии:

1. Попробуй переодеться @required required .

Ответ №1:

@required Аннотация теперь устарела, у нас есть фактическая поддержка компилятора с помощью required ключевого слова:

 Quiz({  required this.answerQuestion,  required this.questions,  required this.questionIndex,  });