Другое исключение было выбрано: type 'MyApp' не является подтипом типа 'StatelessWidget'

Я только начал использовать Flutter, и у меня возникла эта проблема при запуске моего кода. Было отправлено еще одно исключение: тип "MyApp" не является подтипом типа "StatelessWidget". И интересная часть состоит в том, что у меня даже нет этого "StatelessWidget" в моем коде.

   import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatefulWidget {
  @override
  State<StatefulWidget> createState() {
    // TODO: implement createState
    return _MyAppState();
  }
}

class _MyAppState extends State<MyApp> {
  List<String> _bars = ['Olivio bar'];
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
          appBar: AppBar(
            title: Text('Drinkzz'),
          ),
          body: Column(
            children: [
              Container(
                margin: EdgeInsets.all(10.0),
                child: RaisedButton(
                  onPressed: () {
                    _bars.add('Riviera Bar');
                  },
                  child: Text('Add new Bar!'),
                ),
              ),
              Column(
                children: _bars
                    .map((element) => Card(
                          child: Column(
                            children: <Widget>[
                              Image.asset('assets/olivio.jpg'),
                              Text(element)
                            ],
                          ),
                        ))
                    .toList(),
              )
            ],
          )),
    );
  }
}

Я действительно потерян и буду помогать!

Спасибо,

Ответы

Ответ 1

Как сказал Иона Уильямс,

Если вы изменили MyApp с StatelessWidget на StatefulWidget вам необходимо выполнить горячий перезапуск, так как он вызывается в main

Это неоднократно объяснялось в сеансах живого кодирования: когда вы вносите изменения в функции, такие как initState(), вам необходимо перезапустить приложение. Аналогичный случай применим к вам, когда вы изменили связанные с состоянием свойства виджета MyApp, вам необходимо перезапустить приложение, чтобы эти изменения вступили в силу.