Stateful Widget во флаттере

Я новичок, чтобы трепетать и учился с StatefulWidget но я не мог четко понять следующий термин

class MyApp extends StatefulWidget
{
  @override
  _myState createState() => _myState();
}  

Я пробовал это

@override return _myState(); И это мне ясно, но мы используем _myState перед методом createState().

1 ответ

Решение

_myState здесь на самом деле тип, а не имя переменной.

Эта функция здесь

@override
_myState createState() => _myState();

эквивалентно:

@override
_myState createState() {
    return new _myState();
}

где класс _myState скорее всего определяется так:

class _myState extends State<MyApp> {
    ...
}

В дротике вам не нужно использовать new (необязательно) для создания экземпляра объекта.

Однако по соглашению об именах имена классов должны быть в PascalCase, в этом случае _MyState вместо _myState что поможет сделать его более читабельным, особенно в вашем случае здесь.

Другие вопросы по тегам