Событие диспетчеризации редукции при создании виджета - PullRequest
0 голосов
/ 29 января 2019

Я хотел бы загрузить данные, используя редукционное действие при создании виджета.Скажем, например:

Пользователь открывает приложение, затем отображается компонент HomeScreen, на этой странице есть несколько категорий.

Мне удалось создать AppState, поддерживающий несколько хранилищ (пока не протестированных), который заполняется исходными данными в main () с помощью FlutterStorage.

Таким образом, в HomeScreen я могу получить доступ к данным из build () с помощью StoreConnector, поскольку в конвертере я получаю хранилище, поэтому могу отправлять события или читать состояние приложения.Но это только внутри build (), что является проблемой, потому что если отправить событие LoadCategories в методе рендеринга, оно перейдет в бесконечный цикл.

В реагировать я смог отобразить диспетчеризацию для компонента (виджет) свойства, так что в componentDidMount я смог получить данные.Это кажется невозможным во Флаттере.

Есть идеи, как этого добиться?

Спасибо

1 Ответ

0 голосов
/ 30 января 2019

Вероятно, не лучший ответ, но я заметил, что StoreConnector имеет свойство onInit, которое делает то, что мне нужно.

 @override
 Widget build(BuildContext context) {
   return new StoreConnector<AppState, List<Category>>(
    onInit: (store) {
      store.dispatch(LoadCategoriesAction());
    },
    builder: (context, categories) {
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...