嗨, DragDropContext
自版本 9 以来已被删除https://github.com/react-dnd/react-dnd/pull/1439
嗨,
DragDropContext
自版本 9 以来已被删除 #1439
哦谢谢
现在已删除此迁移路径是什么?
伙计们,是否有针对 9.x 版本中的重大更改的迁移指南?
伙计们,是否有针对 9.x 版本中的重大更改的迁移指南?
不,您可以提醒作者更新文档。
这就是我最终做的
- import { DragDropContext } from "react-dnd";
- import HTML5Backend from "react-dnd-html5-backend";
-
- export const withDragDropContext = DragDropContext(HTML5Backend);
+ import * as React from "react";
+ import HTML5Backend from "react-dnd-html5-backend";
+ import { DndProvider } from "react-dnd";
+
+ export const withDragDropContext = <TProps extends {}>(Component: React.ComponentClass<TProps> | React.StatelessComponent<TProps>) =>
+ {
+ return (props: TProps) => (
+ <DndProvider backend={HTML5Backend}>
+ <Component {...props} />
+ </DndProvider>
+ );
+ };
对于那些在谷歌上搜索的人,这可能会有所帮助:
这不起作用
import { createDndContext, DndProvider } from "react-dnd";
import Backend from "react-dnd-html5-backend";
// ...
const DndContext = createDndContext(Backend);
// ...
const MyComponent = () => (
<DndProvider backend={Backend} context={DndContext}>
/* ... */
</DndProvider>
);
我再说一遍,这行不通
而是这样做:
import { createDndContext, DndProvider } from "react-dnd";
import Backend from "react-dnd-html5-backend";
// ...
const DndContext = createDndContext(Backend);
// ...
const myComponent = () => (
const managerRef = useRef(DndContext);
<DndProvider backend={Backend} manager={managerRef.current.dragDropManager}>
/* ... */
</DndProvider>
)
来源: Dnd 代码
怎么解决
最有用的评论
这就是我最终做的