首页 > 解决方案 > 如何有条件地渲染 GetxController

问题描述

如果我想根据之前的路由名称获取 GetxController,我应该如何编写这个代码片段?

  @override
  Widget build(BuildContext context) {
    MyGetxController? controller;
    if (Get.previousRoute != '/home') {
      controller = Get.find();
    }
    ...
  }

MyGetxController 已经放置在除主路由之外的其他路由中。

标签: flutterflutter-getx

解决方案


通过不是最佳实践,我将其隔离中的任何潜在条件分开。

  @override
  Widget build(BuildContext context) {
    if (Get.previousRoute != '/home') {
      final MyGetxController? controller = Get.find();
      return ...
    } else {
      return ...
    }
  }

推荐阅读