react dnd插件中拖拽目标组件中spec的props.index一直是undefined,这个要如何才能获取到该值?

问题描述

react dnd插件中拖拽目标组件中spec的props.index一直是undefined,这个要如何才能获取到该值?

问题出现的环境背景及自己尝试过哪些方法

使用React dnd 实现React项目的拖拽功能,在拖拽目标组件(Target)中,在hover(props, monitor, component) 组件中获取specObj 对象方法中的props.index一直为undefined。
百度文档中描述props: 组件当前的props
个人也采用了在拖拽目标组件(Target.js)模板中给子组件传了index

相关代码

...
const cardTarget = {
    hover(props, monitor) {
        console.log('props-->',props.index); //在控制台打印出来是undefined
        //问题:我要如何才能获取到这个值?
    }
};
class Target extends Component {
    render() { 
        ....
        let items = list.map((item, index) => {
            return <Source index={index} id={item.id} />
        })
        return connectDropTarget(<div>{items}</div>)
    }
}
...

你期待的结果是什么?实际看到的错误信息又是什么?

在hover组件中如何才能获取到specObj 对象方法中的props.index的值?

控制台打印信息:

props index--> undefined
阅读 2.7k
1 个回答

你需要在beginDrag中去定义。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题