Другое исключение было выбрано: 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, вам необходимо перезапустить приложение, чтобы эти изменения вступили в силу.