Я работаю над проектом Flutter с flutter_redux
, где у меня есть StatelessWidget
, строящий StoreConnector
с onInit
, который отправляет действие thunk для получения данных из API и их хранения.Проблема, с которой я сталкиваюсь, заключается в том, что Flutter может продолжать маршрутизацию на экран, что означает, что будет вызываться build и вызываться onInit снова и снова.Это часто случается во время фокусировки на TextFormField и т. Д.
class MyScreen extends StatelessWidget {
static String routingPath = '/myScreen';
@override
Widget build(BuildContext context) {
return Scaffold(
onInit(store) {
/// This keep getting call over and over
store.dispatch(callApi);
}
converter: ...
builder: ...
)
}
}
Кажется, что это ожидаемое поведение для флаттера.https://github.com/flutter/flutter/issues/14124
Это становится проблемой, поскольку API продолжает вызываться снова и снова.Мне интересно, как лучше всего инициализировать данные из API при первой инициализации виджета?