Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

The getter 'taskList' isn't defined for the type 'InheritedWidget'.

Estou usando o VScode e o flutter mais atualizado no momento. Estou com o erro acima. no updateShouldNotify

import 'package:flutter/material.dart';
import 'package:widgets/components/task.dart';

class TaskInherited extends InheritedWidget {
  TaskInherited({super.key, required super.child});

  final List<Task> taskList = [
    const Task(
      name: "Tarefa 1",
      foto: 'assets/images/image.png',
      dificuldade: 4,
    ),
    const Task(
      name: "Tarefa 2",
      foto: 'assets/images/image2.jpg',
      dificuldade: 3,
    ),
    const Task(
      name: "Tarefa 4",
      foto: 'assets/images/image3.png',
      dificuldade: 1,
    ),
    const Task(
      name: "Tarefa 4",
      foto: 'assets/images/image4.jpg',
      dificuldade: 2,
    )
  ];
  static TaskInherited of(BuildContext context){

  }

  void newTaks(
      {required String name, required String foto, required int difficulty}) {
    taskList.add(Task(name: name, foto: foto, dificuldade: difficulty));
  }

  @override
  bool updateShouldNotify(InheritedWidget oldWidget) {
    return oldWidget.taskList.length != taskList.length; //ERRO NESSA LINHA EXATAMENTO NO oldWidget.taksList.length
  }
}
2 respostas
solução!

Consegui resolver o problema esta no código abaixo:

@override
  bool updateShouldNotify(InheritedWidget oldWidget) {
    return oldWidget.taskList.length != taskList.length; //ERRO NESSA LINHA EXATAMENTO NO oldWidget.taksList.length
  }

Basta mudar o tipo do parâmetro para TaskInherited;

  @override
  bool updateShouldNotify(TaskInherited oldWidget) {
    return oldWidget.taskList.length != taskList.length;
  }

Oii Luciano, tudo bem?

Que bom que você conseguiu resolver o problema. Irei finalizar o seu post.

Um abraço e bons estudos.