0

私は最初の Flutter アプリを作成しており、スコープ モデルを使用してグローバル ステートを管理しています。クラスの 1 つのオブジェクトを更新すると、同じタイプのオブジェクトを含む別のクラス リストも更新されるという問題があります。私はそれが私の誤解ではないかと疑っていますが、私は自分の考えに固執し、車輪を回転させています。

ここにコードがあります

import 'package:flutter/material.dart';

import './wellbeing.dart';
import './activity.dart';
import 'package:scoped_model/scoped_model.dart';
import 'package:date_utils/date_utils.dart';

mixin EventModel on Model {

  Map<DateTime, List<Activity>> _events = {};

  Activity currentActivity;

  Wellbeing currentWellbeing;

  String activityType;

  DateTime submitDate = DateTime.now();

  void updateCurrentActivity(String attribute, int value) {
    switch (attribute) {
      case 'Intensity':
        {
          currentActivity.intensity = value;
          return;
        }
      case 'Duration':
        {
          currentActivity.duration = value;
          return;
        }
    }
  }

currentActivity.duration は _events[date][0].duration も更新します

これがデバッガーで発生するのを見てきました。

4

1 に答える 1