いくつかの異なるコンポーネントで構成される最上位コンポーネントがあります。
- InventoryBox - インベントリに含まれるスペースを指定します
- InventoryList - インベントリ内のアイテムのリストを指定します
- アイテム - インベントリ リスト内の単一のアイテム
InventoryBox は最上位のコンポーネントなので、DragDropContext でラップしました。私が直面している問題は、collect 関数で指定した connectDragSource 関数がアイテム コンポーネントにメソッドを注入していないことです。
マイコレクト機能
function collect(connect, monitor) {
return {
connectDragSource: connect.dragSource(),
isDragging: monitor.isDragging()
};
}
マイ アイテム コンポーネント
var Item = React.createClass({
render: function(){
var id = this.props.id;
var isDragging = this.props.isDragging;
var connectDragSource = this.props.connectDragSource;
return (
<div className="item">
{this.props.children}
</div>
);
}
});
私の最終的な目標は、アイテム コンポーネントをリストから別のインベントリ ボックスにドラッグすることです。