文档说 _component_ 被传递给 beginDrag (第三个参数)但是它在调用时似乎为空? 不知道是不是我做错了什么。 如果它有帮助,我的组件既是拖动源又是拖动目标。
我想要做的是在 beginDrag 中获取我的组件的高度,这不是我可以从传递的道具中获得的东西,所以我需要访问该组件。
原来问题是 DnD 不喜欢无状态组件:(
我变了
const SortableListItem = (props) => {
到
class SortableListItem extends Component {
并且 _component_ 现在正确传递给 beginDrag。 值得一提的是,无状态组件按预期工作,因此很困惑为什么 _component_ 在 beginDrag 中为空。
可能值得更新 beginDrag 文档以声明 DnD 不适用于无状态组件(假设无法修复)。
Oof,也只是在这方面减少了几个周期(除了hover()
回调)。 非常感谢您发布此信息...我不知道下一步该往哪里看。
刚才也遇到了这个问题 - 怀疑问题是无状态组件没有公共实例。 React-dnd 可能需要调整它们使用 refs 的方式,因为receiveComponent
是用 null 调用的
这只是在升级react-redux
和DragSource
包装connect
ed 组件时发生在我身上。
解决方法:切换 DragSoruce 和连接的顺序。 :-/
此问题已自动标记为陈旧,因为它最近没有活动。 如果没有进一步的活动发生,它将被关闭。 感谢你的贡献。
最有用的评论
原来问题是 DnD 不喜欢无状态组件:(
我变了
const SortableListItem = (props) => {
到
class SortableListItem extends Component {
并且 _component_ 现在正确传递给 beginDrag。 值得一提的是,无状态组件按预期工作,因此很困惑为什么 _component_ 在 beginDrag 中为空。
可能值得更新 beginDrag 文档以声明 DnD 不适用于无状态组件(假设无法修复)。