React-dnd: Como saber quando NÃO está pairando sobre um alvo de queda

Criado em 22 jan. 2016  ·  2Comentários  ·  Fonte: react-dnd/react-dnd

Estou tentando disparar ações de redux que ajudam a rastrear vários estados DnD globalmente. Preciso saber se o arrasto está acontecendo e que tipo de alvo (de preferência, exatamente qual alvo) está sendo pairado. Detectar arrastar é fácil o suficiente usando a especificação da fonte, mas não consigo descobrir como detectar pairando em um alvo. Ele tem o método 'hover' na especificação, mas dispara continuamente e, pelo que posso dizer, não há como saber quando o hover para. Eu poderia usar o tempo limite, mas isso não parece o ideal. Pensei em envolver a área principal do aplicativo em um dropTarget e usar a verificação 'superficial', mas isso não dá informações sobre que tipo de destino de soltar está sendo pairado. Suspeito que há alguma maneira de explorar o Contexto DnD, mas ainda não investiguei muito.

question

Comentários muito úteis

Você pode usar métodos de ciclo de vida componentWillReceiveProps e disparar uma ação quando nextProps.isOver !== this.props.isOver . Você precisaria adicionar isOver: monitor.isOver() à sua função DropTarget collect() .

Todos 2 comentários

Pode ser capaz de vincular meus próprios eventos onDrag* para fazer o que preciso. Adiciona uma ligeira interdependência entre o código do meu aplicativo e react-dnd , em termos de suposições sobre qual backend de arrasto estou usando. Mas provavelmente está bem.

Você pode usar métodos de ciclo de vida componentWillReceiveProps e disparar uma ação quando nextProps.isOver !== this.props.isOver . Você precisaria adicionar isOver: monitor.isOver() à sua função DropTarget collect() .

Esta página foi útil?
0 / 5 - 0 avaliações