Flutter: сохранение состояния в виджете между переходами Blo c - PullRequest
0 голосов
/ 25 февраля 2020

Я использую flutter_bloc для реализации blo c в моем приложении.

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

Как мне поддерживать состояние в моем виджете между этими переходами?

Например, на экране 3 кнопки. Каждое нажатие кнопки отправляет событие, а состояние возвращает фрагмент текста. Поэтому после нажатия кнопки 1 состояние возвращает объект State с текстом, а кнопка заменяется этим текстом. Теперь, когда пользователь нажимает кнопку 2, он возвращает другой фрагмент текста и заменяет кнопку 2. Но когда это происходит, текст button1 исчезает.

У меня есть StatefulWidget с состоянием, которое выглядит следующим образом -

List<String> allTexts = List();

, но обновление этого состояния не работает, так как вызов setState выдает эту ошибку -

setState() or markNeedsBuild() called during build.

Как решить эту проблему?

Заранее спасибо.

1 Ответ

0 голосов
/ 26 февраля 2020

Вы всегда можете отправить State с текстом для всех buttons. Поэтому, когда вы нажимаете button 2, вы получаете текст button 2 + все text, сохраненные для button 1 и 3

...