2016-07-14 14 views
2

Reduxを使用してRiotアプリケーションの状態を管理しようとしましたが、モデル(単純なアイテムの配列)で何かが変化したとき、変更が1つの明細に関連する場合でも、表示されます。問題がない可変減速機付 Riot.JS:不変のデータ構造により不要なレンダリングが発生する

I reproduced the issue here

は、両方のケースで、私は(可変データと不要)ビューの更新をトリガするストア内の変化を見ます。

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

gif demonstrating that DOM of my list is completely re-rendered

私は私が何か間違ったことをしました

...暴動の仮想DOMチェックがDOMののみ再レンダリング変更された部分だろうと思いましたか?

答えて

1

がループに​​を追加します。

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

は完璧に動作しているようですが、それをやって任意の制限はありますか? – Freez

+0

@Freez残念ながら、私は知らない。 – pongo

+0

"ループのレンダリングをより信頼できるものにするためにriot v2.3では、DOMノードはデータコレクションと常に同期して移動、挿入、削除されます。この戦略により、以前の2.2リリースと比較してレンダリングが遅くなります。レンダリングアルゴリズムを使用すると、属性no-reorderをループノードに追加できます。 http://riotjs.com/guide/から –

関連する問題