0

私の州

次の形式のアイテムの配列があります。

[{ left: 0 }, { left: 10 }, { left: 20 }]

{ left: 30 }この配列に項目を追加できます。

[{ left: 0 }, { left: 10 }, { left: 20 }, { left: 30 }]

{ left: 20 }この配列に重複する項目を追加できます。

[{ left: 0 }, { left: 10 }, { left: 20 }, { left: 20 }, { left: 30 }]

私の見解

これらのアイテムを平面上の位置 x にレンダリングする必要があります。ここで、x は左のプロパティです。

[{ left: 0 }, { left: 10 }, { left: 20 }]レンダリング|item1 item2 item3|

[{ left: 0 }, { left: 10 }, { left: 20 }, { left: 30 }]レンダリング|item1 item2 item3 item4 item5|

重複がある場合は、要素を左また​​は右にシフトして、この重複を解決する必要があります。そう

[{ left: 0 }, { left: 10 }, { left: 20 }, { left: 20 }, { left: 30 }]レンダリング|item1 item2 item3 item4 item5|

したがって、それらは重複してはなりません。

新しいアイテムを 1 つずつ追加できます。新しいアイテムは、10 の倍数の left プロパティを持つことができます。

オーバーラップの場合、アイテムは右にシフトしてオーバーラップを解決する必要があります。

これにより、複数のアイテムが右にシフトする可能性があります。

例:

[{ left: 0 }, { left: 10 }, { left: 20 }, { left: 20 }, { left: 30 }, { left: 40 }]

これを解決するには、左のプロパティ 30 と 40 で両方の項目をシフトする必要があります。

[{ left: 0 }, { left: 10 }, { left: 20 }, { left: 30 }, { left: 40 }, { left: 50 }]

アイテムの移動は、アニメーション化/トゥイーンする必要があります。React および Flux アーキテクチャでこの要件を適用するにはどうすればよいですか?

A.モデルの左側のプロパティを微調整し、トゥイーンを使用してビューの変更を反映することにより、ストア内の重複を解決します。- React コンポーネントでトゥイーンへの変更を反映するにはどうすればよいですか? - オーバーラップを解決するにはどうすればよいですか?

4

1 に答える 1

0

React Motionのようなライブラリを使用できます。
あなたが説明したように、リスト間の遷移をトゥイーンできます。

于 2015-10-18T13:25:34.787 に答える