用react-dnd拖放形状的边缘吗?

在使用react-dnd的React项目中,我需要一些想法来将箭头拖放到矩形,圆形等几何形状的边缘。另一方面,我应该保存箭头的位置以在同一位置再次显示它。有什么想法吗?

用react-dnd拖放形状的边缘吗?

chj950109 回答:用react-dnd拖放形状的边缘吗?

是的,您必须将坐标保存在状态中的某个位置。然后,使用useDrop钩子(doc)将箭头的新坐标放到新位置时将其推到您的状态。

总而言之,过程如下:

  • 在您希望箭头到达的状态下初始化坐标
  • 使用useDrag使箭头组件可拖动
    • useDrag传递begin回调-修改您的状态-每当箭头开始被拖动时就会调用
    • end回调进行同样的操作
    • 然后将其设置为动画,然后将其拖动,然后将其拖动,甚至可以根据在beginend函数中设置的状态项来更改其外观
  • 使用useDrop

    使箭头组件可放置
    • 对于useDrag,传递一个drop函数以推动以指出箭头的新坐标。

除了不提供任何代码外,为您提供更多帮助还有些困难。如果这样做的原因是您不知道从哪里开始,请看看这个令人惊叹的step-by-step tutorial

但是,请记住,所有这些都会引发很多重新渲染。就个人而言,对于这个东西之王,我喜欢避免使用第三方库,以保持性能可控,并倾向于尽可能与dom保持紧密联系(使用js事件,而不是例如在拖动时不断更新状态)。

本文链接:https://www.f2er.com/2938637.html

大家都在问