类到类访问数据

Posted

技术标签:

【中文标题】类到类访问数据【英文标题】:Class to Class Access Data 【发布时间】:2021-10-31 02:29:45 【问题描述】:

我的课程有问题。我使用 Google 身份验证将用户数据保存在 user_info_screen 中。如何在另一个页面上有此数据的类中提取此用户数据?

 class UserInfoScreen extends StatefulWidget 
   UserInfoScreen(Key key, User user)
      : _user = user,
        super(key: key);

  final User _user;

  @override
  _UserInfoScreenState createState() => _UserInfoScreenState();


class _UserInfoScreenState extends State<UserInfoScreen> 

  User _user;

我想通过拉取这些数据来使用(用户)的页面

class HomeView extends StatefulWidget 
  @override
  _HomeViewState createState() => _HomeViewState();


class _HomeViewState extends State<HomeView> 


谢谢。

【问题讨论】:

【参考方案1】:

处理它的好方法,特别是如果您将在其他页面上使用用户数据,是实现商店概念:https://pub.dev/packages/get

UserInfoScreen.dart

GetStorage box = GetStorage();
box.write('userData', _user);

HomeView.dart

GetStorage box = GetStorage();
User _user = box.read('userData');

或将其作为参数传递

UserInfoScreen.dart

Get.to(() => HomeView(), arguments: [
    "userData": _user
]);

HomeView.dart

  dynamic argumentData = Get.arguments;

  @override
  void onInit() 
    print(argumentData[0]['userData']);
    super.onInit();
  

【讨论】:

它工作得很好,谢谢,但我收到此错误并且用户的显示名称返回 null ------[ERROR:flutter/lib/ui/ui_dart_state.cc(199)] 未处理的异常:将对象转换为可编码对象失败:“用户”实例 ------ 无论如何我可以在热重启后看到 user.dispname。我该如何解决这个问题? @Ferhat37ozkan 您可能需要在操作用户对象时添加非空条件,或者使用异步进程来等待该用户数据。

以上是关于类到类访问数据的主要内容,如果未能解决你的问题,请参考以下文章

Python3.8 与 PySide2 类到类用法

从嵌套类到包含类的 C# 成员访问 [重复]

在 C++ 中访问 int 映射到类对象时出错

如何在不传递数组的情况下使数组可访问到类中?

LINQ to SQL 类到我自己的类

如何在 Android Studios 中从 java 类到 kotlin 类