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

Riot.JS: immutable data structure causes unwanted rendering

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

I reproduced the issue here

使用可变 reducer 没有问题,在这两种情况下,我都会观察商店中的变化以触发视图更新(可变数据不需要)。

this.on('mount', () => {
  opts.store.subscribe(() => {
    this.update({
      items: opts.store.getState()
    })
  })
})

我认为 Riot 的虚拟 DOM 检查只会重新渲染 DOM...

的更改部分

我是不是做错了什么?

no-reorder添加到循环:

<li no-reorder each={ items } onclick={ toggle }>
  <span>{x}</span>
</li>