2015-11-26 3 views
13

私はan example of the React-dnd projectを読んでいます:

moveCard(dragIndex, hoverIndex) { 
    const { cards } = this.state; 
    const dragCard = cards[dragIndex]; 

    this.setState(update(this.state, { 
     cards: { 
     $splice: [ 
      [dragIndex, 1], 
      [hoverIndex, 0, dragCard] 
     ] 
     } 
    }));} 

をされているのと同じ1はon this pageを説明し、この$スプライスは?

誰でもこのコードチャンクは何を説明できますか? $spliceの機能は私にとって非常に混乱しています。

答えて

16

それは基本的に代わりに直接ターゲット配列を操作するように

newcards.splice(dragIndex, 1); // removing what you are dragging. 
newcards.splice(hoverIndex, 0, dragCard); // inserting it into hoverIndex. 

としてプレーンなスプライス機能の不変のバージョンだ、それらの不変性のヘルパーは、あなたが新しい状態を作成して割り当てることにより、状態を更新支援しています。

関連する問題