小编Fis*_*ker的帖子

测试功能组件中的react-dnd下降

我正在努力使用react-dnd. 这涉及将一项从一个组件拖放到另一组件中。从功能上讲,它工作得很好,但我在测试“drop”以便触发该功能时遇到了麻烦。当我测试时,我根本无法让它记录我正在掉落。

一些相关信息:

  • 这是一个功能组件 - 大多数文档都以类组件为中心
  • 我见过的大多数文档都涉及在同一组件内进行拖放 - 这是在两个单独的组件之间发生的
  • 我尝试过使用酶(使用 mount)和 React 测试库(使用 render)进行测试

“删除”组件代码

const TableBody = React.forwardRef(({ <props> }: Props, ref) => {
    const [{ isOver }, drop] = useDrop({
        accept: 'TestItem',
        drop: (droppedItem: any) => dropFunction(droppedItem),
        collect: monitor => ({
            isOver: monitor.isOver(),
        }),
    });

    ...

    return (
        <MaterialTableBody ref={ref} role='rowgroup'>
            { <code to render rows }
        </MaterialTableBody>
    );
});
Run Code Online (Sandbox Code Playgroud)

测试示例

test('Dropping on a table triggers the drop function', () => {
    const mockDropFunction = jest.fn(); …
Run Code Online (Sandbox Code Playgroud)

reactjs react-dnd

5
推荐指数
1
解决办法
1705
查看次数

标签 统计

react-dnd ×1

reactjs ×1