我正在尝试一个 react-dnd 代码示例:https ://github.com/react-dnd/react-dnd/blob/master/examples/01%20Dustbin/Single%20Target/Dustbin.js
const boxTarget = {
drop() {
return { name: 'Dustbin' }
}
}
@DropTarget(ItemTypes.BOX, boxTarget, (connect, monitor) => ({
connectDropTarget: connect.dropTarget(),
isOver: monitor.isOver(),
canDrop: monitor.canDrop(),
}))
export default class Dustbin extends Component {
...
}
在示例中,name
是硬编码的。我需要使用动态name
,所以我通过了一个像这样的道具
<Dustbin name="dustbin1" />
<Dustbin name="dustbin2" />
并将其更改boxTarget
为
const boxTarget = {
drop() {
return { name: this.props.name }
}
}
但是this.props
变成undefined
了,也许是因为它不在课堂上。是否有任何解决方法,以便我可以name
为每个Dustbin
组件使用不同的?