Redux Riot.JS:不可变的数据结构导致不需要的渲染

Redux Riot.JS:不可变的数据结构导致不需要的渲染,redux,immutability,riot.js,Redux,Immutability,Riot.js,我试图用Redux管理我的Riot应用程序状态,但我注意到,当我的模型(一个简单的项目数组)发生变化时,从这个集合中呈现的每个元素都会重新呈现,即使修改涉及到一个项目 使用可变缩减器没有问题,在这两种情况下,我都会观察存储中的更改以触发视图更新(对于可变数据来说不必要) 我认为Riot的虚拟DOM检查只会重新呈现DOM的更改部分 我做错什么了吗?将无重新排序添加到循环: {x} 似乎工作得很好,这样做有什么限制吗?@Freez不幸的是,我不知道。“在riot v2.3中,为了使循环渲染更

我试图用Redux管理我的Riot应用程序状态,但我注意到,当我的模型(一个简单的项目数组)发生变化时,从这个集合中呈现的每个元素都会重新呈现,即使修改涉及到一个项目

使用可变缩减器没有问题,在这两种情况下,我都会观察存储中的更改以触发视图更新(对于可变数据来说不必要)

我认为Riot的虚拟DOM检查只会重新呈现DOM的更改部分


我做错什么了吗?

无重新排序添加到循环:


{x}


似乎工作得很好,这样做有什么限制吗?@Freez不幸的是,我不知道。“在riot v2.3中,为了使循环渲染更可靠,DOM节点将始终与数据收集同步移动、插入和删除:与以前的2.2版本相比,此策略将使渲染速度减慢。要启用更快的渲染算法,可以向循环节点添加“无重新排序”属性
this.on('mount', () => {
  opts.store.subscribe(() => {
    this.update({
      items: opts.store.getState()
    })
  })
})