@ixotep

Во Flutter с использованием MobX не обновляется значение в AppBar, в чём проблема?

Всем привет!
Не обновляется значение в AppBar..((
Что не так??

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

import 'counter.dart'; // Import the Counter

final counter = Counter(); // Instantiate the store

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'MobX',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: const MyHomePage(),
    );
  }
}

class MyHomePage extends StatelessWidget {
  const MyHomePage();

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('MobX Counter ${counter.value}'),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            Text(
              '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,
              ),
            ),
          ],
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: counter.increment,
        tooltip: 'Increment',
        child: Icon(Icons.add),
      ),
    );
  }
}
  • Вопрос задан
  • 35 просмотров
Решения вопроса 1
vadimpopov94
@vadimpopov94
Dev
Измени вот это

appBar: AppBar(
  title: Text('MobX Counter ${counter.value}'),
),


на это

appBar: Observer(
  builder: (_) => AppBar(
     title: Text('MobX Counter ${counter.value}'),
)),


И теперь этот виджет будет перерисовываться при изменении counter.value
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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