2015-11-26 10 views
13

sto leggendo 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] 
     ] 
     } 
    }));} 

E 'questo $ giunzione lo stesso ha spiegato on this page?

Qualcuno potrebbe spiegare cosa fa questo pezzo di codice? La funzione $splice mi confonde molto.

risposta

16

'fondamentalmente una versione immutabile di funzioni di splicing semplici come

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

Invece di manipolare direttamente matrice di destinazione, tali helper Immutabilità aiutano aggiornare lo stato creando e assegnando un nuovo stato.

Problemi correlati