2017-09-07 16 views
0

私のReactJSプロジェクトでは、私の例で書いたようにいくつかのChildComponentsを含むMainComponentがあります。私はスムーズな方法を探して、ボタンを上下に使ってChildComponentsをスワップします。Reactでのコンポーネントの入れ替え

私は 'react-sortable-hoc'をチェックアウトしましたが、これはマウスまたはタッチでドラッグを処理しているように見えますが、移動/移動を含むボタンなどのクリックイベントを介してスワップを探しています。

- MainComponent 
    - ChildComponent #1 [up/down] 
    - ChildComponent #2 [up/down] 
    - ChildComponent #3 [up/down] 
    - ChildComponent #4 [up/down] 

このようなライブラリを提案する方法はありますか?

+0

[CSS-Transition-Group](https://github.com/reactjs/react-transition-group)にチェックを入れましたか? – bennygenel

答えて

0

私は単にChildComponentの注文を交換しますが、keysの小道具をそれぞれChildComponentに正しく管理してください。

あなたChildComponentがでレンダリングされると仮定すると、だから:array指標に基づいていないキーを使用してください

arrays.map(x => <ChildComponent keys={x.id} />) 

。 セイは、例えば、2番目と3番目を入れ替える:

let 2nd = arrays[1], 3rd = arrays[2]; 
array[2] = 2nd; 
array[1] = 3rd; 

あなたはその後、arrayの更新に集中することができます。もう少し移行したい場合は、を試してみる価値があります。

+0

この回答ありがとうございます、私はそれを見てみましょう! – directory

+0

コンポーネントをスワップするための関数を作成しましたが、ステートが変更され、コンポーネントの順序が変更されたときにスムーズな動きの遷移を作成する方法がわかりません。これを行う方法の例を教えてください。 – directory

関連する問題