React-Mosaic-Components获得currentNode失败

时间:2019-04-15 21:09:05

标签: javascript reactjs react-native

我有一个使用React-mosaic-component进行前端瓷砖开发的react项目。我正在创建一个在dashbaord中呈现的新面板。然后,我想立即调用setlayout,让我在不同的图块之间移动。我有setLayout附加到组件。我需要将currentNode作为参数传递,并且它无法捕获该节点。谁能帮我弄清楚如何获取当前节点。

代码如下:

export const UserWidgetTile: React.FC<WidgetProps> = ({ userWidget, dashboardService}) => {

    const setLayout = useCallback((currentNode: DashboardNode | null) => dashboardService.setLayout(currentNode), []);

    let dragStart = (e) => {
        let transferringData = e.dataTransfer.setData("text", e.target.id);
        let collectedData = e.dataTransfer.getData("text")
        setTimeout(() => {
            mainStore.closeWidgetToolbar()
            let userWidget = dashboardStore.userDashboards().value.widgets[collectedData];
            dashboardService.addWidget(userWidget);
            setLayout();

        }, 200)        
    }


    return (      
        <div className={styles.tile} id={userWidget.id} onClick={() => dashboardService.addWidget(userWidget)}>
            <img className={styles.tileIcon} id={userWidget.id} src={userWidget.widget.images.smallUrl} draggable={true} onDragOver={(e) => e.preventDefault()} onDragStart={dragStart}/>
            <span className={styles.tileTitle} id={userWidget.id} draggable={true} onDragOver={(e) => e.preventDefault()} onDragStart={dragStart} >{userWidget.widget.title}</span>
        </div>
    );

};

我只需要找到一种方法来获取当前节点并将其传递到setLayout中。

0 个答案:

没有答案