私のコンポーネントには、支払済みおよび欠落したアイテムのローカル状態があります。ドロップされたアイテムのオブジェクトをコンポーネントの状態にプッシュするためにdndに反応します。
constructor() {
super();
this.state = {
droppedItems: [],
};
そして私は私が何をしたいのか、以下のように
drop(props, monitor) { const orderItem = monitor.getItem(); },
をドロップ仕様を指定orderItem
がターゲットにドロップされたとき、それはやることがdroppedItems
の状態にorderItem
をプッシュということですそれを作りましたhandleDrop
関数
handleDrop (orderItem) {
if(!orderItem){
this.setState(update(this.state, {
droppedItems: orderItem ? {
$push: [orderItem]
} : {}
}));
}
else return false;
}
そして、それをthそれがドロップされた項目があることを認識しますが、私のレンダリング機能で
return connectDropTarget(
<div className="payment_block" onDrop={this.handleDrop}>
は、以下const { canDrop, connectDropTarget, getItem} = this.props;
は、それがプッシュしていない、console.log(this.props)
Object { id: 1, order: Object, channel: undefined, dispatch: routerMiddleware/</</<(), connectDropTarget: wrapHookToRecognizeElement/<(), canDrop: false, itemType: "order_item", getItem: Object
から結果がされています状態。
Object
のgetItem
をコンポーネントの状態にプッシュするにはどうすればよいですか?私はここで間違って何をしていますか?事前
ドロップシグネチャでコンポーネントを追加していただきありがとうございます。 –
上記のとおり、コンポーネントはjsxで動作しています。私は自分のタイスクリプトコードの問題を見つけることができませんでした。時間が許せばこのコードを見てください。 https://github.com/react-dnd/react-dnd/issues/785#issuecomment-368897599 –