さまざまなDnD状態をグローバルに追跡するのに役立つreduxアクションを実行しようとしています。 ドラッグが発生しているかどうか、およびどのタイプのターゲット(理想的には正確にどのターゲット)がホバーされているかを知る必要があります。 ソースの仕様を使用すると、ドラッグの検出は簡単ですが、ターゲット上のホバリングを検出する方法がわかりません。 仕様には「ホバー」メソッドがありますが、それは継続的に発生し、私が知る限り、ホバーがいつ停止するかを知る方法はありません。 タイムアウトを使用することもできますが、それは理想的とは言えません。 メインのアプリ領域をdropTargetでラップし、「浅い」チェックを使用することを考えていましたが、ホバーされているドロップターゲットのタイプに関する情報は得られません。 DnDコンテキストを活用できる方法があると思いますが、それほど掘り下げていません。
自分のonDrag*
イベントをバインドして、必要なことを実行できる可能性があります。 使用しているドラッグバックエンドに関する仮定に関して、アプリコードとreact-dnd
間にわずかな相互依存関係を追加します。 しかし、おそらく大丈夫です。
componentWillReceiveProps
ライフサイクルメソッドを使用して、 nextProps.isOver !== this.props.isOver
ときにアクションを実行できます。 DropTarget
のcollect()
関数にisOver: monitor.isOver()
を追加する必要があります。
最も参考になるコメント
componentWillReceiveProps
ライフサイクルメソッドを使用して、nextProps.isOver !== this.props.isOver
ときにアクションを実行できます。DropTarget
のcollect()
関数にisOver: monitor.isOver()
を追加する必要があります。