'type 'Null' is not a subtype of type 'String' The relevant error-causing widget was Selector<Model, String> lib\HomePage.dart:20

import 'package:flutter/material.dart'; import 'package:provider/provider.dart';

class HomePage extends StatefulWidget { HomePage({Key? key}) : super(key: key);

@override State createState() => _HomePageState(); }

class _HomePageState extends State { @override Widget build(BuildContext context) { return ChangeNotifierProvider( create: (context) => Model(), child: Scaffold( appBar: AppBar(), body: ListView( children: [ Selector<Model, String>( selector: (context, modelSelec1) => modelSelec1.getShow1(), builder: (context, model, child) { print('cons text 1'); return Text(model); }), Selector<Model, String>( selector: (context, modelSelec2) => modelSelec2.getShow1(), builder: (context, model, child) { print('cons text 2'); return Text(model); }), Consumer(builder: (context, model, child) { return RaisedButton( onPressed: () { model.changetxt1(); }, child: Text("Do sommething 1"), color: Colors.blue, ); }), Consumer(builder: (context, model, child) { return RaisedButton( onPressed: () { model.changetxt2(); }, child: Text("Do sommething 2"), color: Colors.blue, ); }), ], )), ); } }

class Model extends ChangeNotifier { String txt1 = 'text 1';
String txt2 = 'text 2'; getShow1() => changetxt1(); getShow2() => changetxt2();

changetxt1() { txt1 = "msg 1"; notifyListeners(); }

changetxt2() { txt2 = "msg 2"; notifyListeners(); } }



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source