React DndはDragLayerを提供します。あなたに役立つコンポーネントです。
Scollableコンポーネント内にDragLayerを追加し、スクロール条件が満たされたときからコールバック を呼び出すことができます。
また、カスタムDragLayer内でonMouseOverイベントを聴いたり、親/スクロール可能コンポーネントのスクロールを設定するコールバックを投げたりできるdivを追加することもできます。
@dragLayer(monitor => ({
isDragging : monitor.isDragging(),
}))
class DragLayer extends Component {
render() {
if(!this.props.isDragging) {
return null;
}
return <div onMouseOver={this.props.onScrollOver}></div>
}
}
class ScrollableContainer extends Component {
....
_doScroll(event) {
const scrollTaget = this._scrollTarget;
scrollTarget.scrollTop++; //Or You can add animations here
}
render() {
...return <div style={{overflow:'auto'}}>
<DragLayer onScrollOver={this._doScroll}/>
</div>;
}
}
これまで試みたことのいくつかのサンプルコードを提供できますか?私たちのデバッグに役立つでしょう。 –
https://github.com/azuqua/react-dnd-scrollzoneを試してみませんか – mauron85