如何使用打字稿重构if else代码并做出反应?

时间:2020-08-21 13:15:37

标签: javascript reactjs typescript

我想重构以下ifelse代码

下面是我的代码,

const toggle = React.useCallback(
    async (itemId: string) => {
        if (isDrawing && editItemId === itemId) {
            cancelDrawing();
        } else if (isDrawing) {
            cancel();
            itemId && startDrawing(itemId);
        } else {
            itemId && startDrawing(itemId);
        }
    }
);

有人可以帮我这个忙吗?谢谢。

2 个答案:

答案 0 :(得分:1)

if(isDrawing || editItemId === itemID) {
            cancelDrawing();
            itemId && startDrawing(itemId);
} else {
            itemId && startDrawing(itemId);
}

答案 1 :(得分:0)

看起来只有在cancelDrawing为真时,您才叫isDrawing

const toggleDrawing = React.useCallback(
    async (itemId: string | null) => {
        isDrawing && cancelDrawing();
        itemId && (editItemId !== itemId) && startDrawing(itemId);
    }
);