我正在查看react-dnd
的示例。我以前从未使用过的东西是使用ES6语法将prop传递到HOC函数中。
@DropTarget(props => props.accepts, boxTarget, (connect, monitor) => ({
connectDropTarget: connect.dropTarget(),
isOver: monitor.isOver(),
canDrop: monitor.canDrop(),
}))
export default class TargetBox extends Component {
...
}
如何使用ES6语法实现此目的?当我像这样传递参数时,会得到未定义的道具。
export default DropTarget(props.accepts, boxTarget, collect)(TargetBox);
最佳答案
这是一个decorator,并将其翻译为:
export default DropTarget(props => props.accepts, boxTarget, (connect, monitor) => ({
connectDropTarget: connect.dropTarget(),
isOver: monitor.isOver(),
canDrop: monitor.canDrop(),
}))(TargetBox);