@ixotep

MobX не перерисовывает виджет. Как передать Store в другой класс?

Всем привет!
Пытаюсь использовать MobX во Flutter и пока не получается..
Код работает в основном классе приложения, но когда я выношу виджет в отдельный файл, виджет перестаёт обновляться.
В чем проблема и как нужно передавать Store в другой файл, класс и т.д.??
В файле main.dart это работает:
Center(
            child: Column(
              mainAxisAlignment: MainAxisAlignment.center,
              children: <Widget>[
                Text(
                  '2 You have pushed the button this many times:',
                ),
                // Wrapping in the Observer will automatically re-render on changes to counter.value
                Observer(
                  builder: (_) => Text(
                    '${counter.value}',
                    style: Theme.of(context).textTheme.headline4,
                  ),
                ),
                ElevatedButton(onPressed: () => _getAlert(), child: Text('test'))
              ],
            ),
          );


но когда я это выношу в отдельный файл который возвращает такой же виджет, то не работает..((

import 'counter.dart';
import 'package:flutter/material.dart';
import 'package:flutter_mobx/flutter_mobx.dart';

final counter = Counter();

getScreen1() {
  return Center(
    child: Column(
      mainAxisAlignment: MainAxisAlignment.center,
      children: <Widget>[
        Text(
          '1 You have pushed the button this many times:',
        ),
        // Wrapping in the Observer will automatically re-render on changes to counter.value
        Observer(
          builder: (_) => Text(
            '${counter.value}',
          ),
        ),
      ],
    ),
  );
}
  • Вопрос задан
  • 26 просмотров
Решения вопроса 1
@ixotep Автор вопроса
нашел способ. надо передавать в виджет Store.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
ECOS Москва
от 100 000 до 150 000 ₽
Softaria Новосибирск
от 170 000 до 200 000 ₽
от 170 000 до 230 000 ₽