1

关于 Get 包,我不完全了解的一点是,是否总是需要将可观察变量放入控制器中。例如,这种情况有效:

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

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

class App extends StatelessWidget {
  final isTrue = true.obs;

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Demo',
      theme: ThemeData(
        visualDensity: VisualDensity.adaptivePlatformDensity,
      ),
      home: Scaffold(
        body: Center(
          child: Obx(
            () => FlatButton(
              color: isTrue.value ? Colors.blue : Colors.red,
              child: Text('Hey'),
              onPressed: () => isTrue.value = !isTrue.value,
            ),
          ),
        ),
      ),
    );
  }
}

但是是否会因此而出现泄漏/问题,并且在这种情况下是否需要 GetXController?

4

1 回答 1

0

因此,正如@Baker 在他的评论中解释的那样,obs 流应该通过 GetXControllers 销毁,并且如果在无状态小部件中独立使用,它们将保留在内存中。

于 2020-12-13T11:18:10.140 回答