Поскольку ListView во Flutter не имеет состояния, почему его можно изменить? - PullRequest
2 голосов
/ 26 января 2020

Я думаю, что это скорее философский вопрос, и название в значительной степени говорит обо всем. кажется противоречием тому, что ListView является производным от состояния, но его можно изменить во время работы приложения.

Ответы [ 2 ]

2 голосов
/ 26 января 2020

Сам ListView не меняется. Вы просто восстанавливаете его с новой информацией, когда используете StatefulWidget с вызовом setState(). Таким образом, ListView никогда не сохраняет или не изменяет состояние, вы просто создаете новый ListView с различной стартовой информацией при каждом его изменении.

2 голосов
/ 26 января 2020

ListView не меняет никаких значений внутри. У него есть компоновщик или дочерние элементы, и они оба уже указаны при запуске метода компоновки.

Statefull виджеты отличаются, они позволяют вам изменять состояние некоторой переменной или вообще состояние Сам виджет.

...