问题标签 [react-dnd]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
563 浏览

reactjs - 使用 react-dnd 移动时 Redux 操作未触发

我对 React 和 Redux 很陌生,对 react-dnd 也很陌生,我认为我在这里做的事情非常不正确。尽管还有其他类似的帖子,但我无法在其中找到解决方案。

我正在开发一个看板应用程序,该应用程序有点基于https://survivejs.com/react/implementing-kanban/drag-and-drop/上的应用程序,尽管该版本使用 Alt.js 并且我正在使用还原。

问题:当拖动一个组件时,动作函数被调用,但减速器(MOVE_TICKET)中的情况不是。无论动作函数的内容如何,​​似乎都是这种情况。

我将动作链接到点击事件,在这种情况下,动作和减速器按预期工作。这使我认为这一定是我使用 dnd 函数设置 Ticket 组件的方式有问题。

票务.js:

ticketReducer.js:

门票Actions.js

Column.js(呈现每个 Ticket 组件的地方)

如果有人能看到我哪里出错了,我真的可以使用一些帮助。

0 投票
1 回答
2158 浏览

reactjs - React-DnD 中是否有任何选项可以根据拖动对象启用放置目标,该拖动对象与放置目标中超过 50% 的区域相交?

我一直在研究 react-dnd(这是拖放组件)。因此,根据鼠标指针识别远放置目标,我想知道是否有任何选项可以更改它,需要根据拖动对象与放置目标的 50% 以上相交来识别放置目标。

这类似于 jQuery UI 拖放功能,在可放置元素中包含“公差:相交”

0 投票
1 回答
236 浏览

reactjs - 如何在 DragSource 规范中访问组件状态

我有一个组件维护状态中的对象列表。我打算使这个组件成为拖动源。当 Drag 事件开始时,我希望拖动处于组件状态的对象列表。问题是 Drag Source Spec 对象的方法 beginDrag 将组件的 prop 作为参数。这意味着可以拖动的对象必须是从道具派生的。

0 投票
1 回答
1534 浏览

reactjs - React DND - canDrag 取决于组件状态

我在使用 React-DND 做事时遇到了问题。

我的问题是关于防止为特定状态拖动组件。但是“canDrag”只能有 props 和 monitor 作为参数。(monitor.getItem 在我的情况下显示为 null)并且我不能使用这些道具,因为它们将出现在每个组件中(因为道具来自父组件)。

有没有人有解决这个问题的想法?

谢谢

0 投票
1 回答
598 浏览

reactjs - React 拖放当前组件上下文

任何使用过 React Drag & Drop 的人,都需要帮助!

在第 20 行的这个示例(https://github.com/react-dnd/react-dnd/blob/master/examples/01%20Dustbin/Multiple%20Targets/Dustbin.js#L20)中,有props.onDrop(monitor.getItem());这段代码通过调用onDrop传递给组件的函数。Dustbinprops

我需要知道是否有一种方法可以调用内部定义的方法,Dustbin而不是通过道具传递。

例如:this.onDrop(monitor.getItem());currentComponent.onDrop(monitor.getItem());

0 投票
1 回答
2251 浏览

reactjs - ReactDnd 拖动预览 - 找到正确的模式

我正在尝试实现一个覆盖默认浏览器行为的简单拖动预览,但我似乎找不到正确的模式,并且文档引用了一组简单的示例,而没有解释图层如何工作的更大背景。

这是一些代码:当前不起作用-不确定如何链接它,以便拖动项目的预览显示 [Item] 而不是其他项目。我如何制作这个链接?我在这里想念什么?

就其价值而言,到目前为止,我发现 ReactDnd 非常易于使用和利用。这是我认为可以从进一步的文档中受益的预览部分,一旦我对这一切的工作原理有了更透彻的了解,我很乐意添加它。

0 投票
1 回答
4267 浏览

reactjs - 在拖放过程中,如果任何组件悬停在当前组件上,当前组件会更改其样式。这不是按预期发生的吗?

在悬停回调中,如果我记录 newStyle 对象的 left 属性,它会按预期显示当前鼠标位置,但不会更改渲染方法中 span 的样式。

任何帮助,将不胜感激。提前致谢。

0 投票
2 回答
1370 浏览

javascript - 如何将装饰器语法转换为 ES6?

我试图理解一些用 ESnext(装饰器)编写的代码 React。我知道如何将装饰器从 ESnext 转换为 ES6 语法

ES6

但我被困住了如何将此代码转换为 ES6 ?

0 投票
1 回答
2413 浏览

javascript - React DND - 拖放事件后无法将新项目添加到状态

在将此代码实现到我的图像上传器之前,我正在开发一个简单版本的 ReactDND。

每次添加图像时,都会将其添加到 state 并传递给 ReactDND,以便它可以拖动也可以放置(因此用户可以重新排列他们的图像)。

一切都很好,除了一件事。我遇到的问题是添加多个图像后,一旦我拖放图像(工作),状态不再更新 ReactDND,我无法添加新图像。

下面是我的代码(注意我只是使用一个按钮来向状态添加额外的项目):

主要成分:

容器:

卡片:

回顾一下,我可以将项目添加到状态中,它们变得可拖放。但是在拖放了一个元素之后,我不能再向状态添加项目了。

关于解决方案的任何想法?我究竟做错了什么?

感谢您浏览此内容以及任何答案。干杯。

0 投票
1 回答
3170 浏览

javascript - React/Dnd:使组件同时可拖放

有多个元素,我想同时获得可拖动和可放置的元素 - 使用react dnd. 这意味着我需要将其中一个元素拖放到另一个元素上。

首先,我为 MyComponent 定义了 dragSource。到目前为止有效。但是我该如何为同一个组件设置 DropTarget 呢?