考虑这个飞镖代码:
T t = T() // id field defaults to null
List<T> list = List()..add(t);
t.id = '123';
print('${list.first.id}') // What's output?
我的问题是传递的项目是List
被复制到List
还是参考。
我遇到了这种歧义,因为我正在使用flutter_redux
where 一个 action 包含 class 的实例T
。在 reducer 上,我将此T
实例添加到我的状态中。稍后,在中间件中,我更新了 thist
的 id。但令人惊讶id
的是,状态字段(在本例中为列表)也发生了变化!所以我唯一的猜测是对象是通过引用传递的。这个假设正确吗?