在 Flutter GetX 中使用没有控制器的可观察变量

Using an observable variable without a controller in Flutter GetX

我对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,
            ),
          ),
        ),
      ),
    );
  }
}

但是会不会有 leaks/problems,因此在这种情况下是否需要 GetXController?

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