在我的组件中,有已付款和已丢弃物品的本地状态。
constructor () {
super();
this.state = {
droppedItems: [],
};
我指定了如下的丢弃规范,
drop(props, monitor) {
const orderItem = monitor.getItem();
},
我想要做的是,当 anorderItem
被放到目标上时,它会orderItem
进入状态droppedItems
所以要做到这一点,我做了handleDrop
函数
handleDrop (orderItem) {
if(!orderItem){
this.setState(update(this.state, {
droppedItems: orderItem ? {
$push: [orderItem]
} : {}
}));
}
else return false;
}
像这样称呼它
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
组件的状态?我在这里做错了什么?
提前致谢