Chakra UI useDisclosure 类型问题

Chakra UI type problem with useDisclosure

我正在尝试使用 chakra ui 文档中的警报对话框示例,但我在输入时遇到了一些问题:

    const { isOpen, onOpen, onClose } = useDisclosure();
    {...}
        <AlertDialog
                    motionPreset="slideInBottom"
                    leastDestructiveRef={cancelRef}
                    onClose={onClose}
                    isOpen={isOpen}
                    isCentered
        >
                <Button ref={cancelRef} onClick={onClose}>
                    Cancel
                </Button>
        </AlertDialog>

我从 leastDestructiveRef 和 ref 得到以下错误:

Type 'MutableRefObject' is not assignable to type 'RefObject'.

Type 'MutableRefObject' is not assignable to type 'LegacyRef | undefined'.

我对查克拉也有同样的问题。正如 Linda Paiste 的回答,这为我解决了这个问题:

import { useRef } from 'react';
...
const cancelRef = useRef<HTMLButtonElement>(null);