2017-07-07 4 views
0

J'ai un composant qui gère une liste d'objets dans un état. J'ai l'intention de faire de ce composant une source de Drag. Lorsque l'événement Drag commence, je souhaite faire glisser la liste des objets dans l'état du composant. Le problème est que la méthode de l'objet Drag Source Spec beginDrag prend comme argument le prop du composant. Cela signifie que l'objet qui peut être déplacé doit être dérivé des accessoires.Comment puis-je accéder à l'état du composant dans la spécification DragSource?

draggedItemSpec { 
     beginDrag(props, monitor, connect) 
     { 
     /*how do I access component state here? 
Why there is a limitation that when creating dragged object, you should only use props?*/ 
     } 
    } 

Répondre

0

Le troisième argument de beginDrag est en fait « composant » (par: http://react-dnd.github.io/react-dnd/docs-drag-source.html), qui donne accès à l'instance du composant React qui a été abandonnée pour, donc au sein de votre beginDrag vous pouvez réellement faire

draggedItemSpec { 
    beginDrag(props, monitor, component) 
    { 
     const currentState = component.getState(); 
     // Do things with that state 
    } 
}