Я получил этот фрагмент кода, выполняющийся в onPressed(). В списке 2 элемента, они отображаются при отладке.
print("Got ${myList.length} elements");
myList.forEach((element) => () {
print('Hello there !!!!');
});
Я вижу в консоли "Получил 2 элемента". Однако отладка не зацикливается, и в консоли больше ничего не отображается.
Я относительно новичок во Flutter/Dar, и я застрял, поэтому буду признателен за любую помощь. Спасибо.
Измените это:
myList.forEach((element) => () {
print('Hello there !!!!');
});
К этому:
myList.forEach((element) {
print('Hello there !!!!');
});
Подробнее здесь: https://api.dartlang.org/stable/2.2.0/dart-core/Iterable/forEach.html
Я обновил свой ответ, проверьте правильную реализацию
=>
означает return
. В первом коде вы просто возвращаете функцию, а во втором фактически ее запускаете.
@MichaelYuwono, спасибо. Вот этого я не понял.
Это сработало. Спасибо. Не могли бы вы объяснить разницу? Я еще не полностью изучил все детали синтаксиса Dart.