我试图上传一个文件,在反应/打字记录。
const CSVImport = () => {
const { isOpen, onOpen, onClose } = useDisclosure();
const inputFile = useRef(null);
const onButtonClick = () => {
// `current` points to the mounted file input element
inputFile.current && inputFile.current.click();
};
return (
<>
<Button onClick={onButtonClick}>import CSV</Button>
<input
type="file"
id="file"
ref={inputFile}
style={{ display: "none" }}
/>
</>
);
};
问题是,inputFile.current.click() ->有问题--这是错误:
Property 'click' does not exist on type 'never'.
我需要在哪里设置类型?
太感谢你了!
发布于 2022-04-13 09:07:31
也许您可以将一个类型传递给useRef
const inputFile = useRef<HTMLInputElement>(null);
发布于 2022-04-13 09:17:54
这是一个link解释为什么会有一个错误。
您应该定义引用的元素类型。由于您使用的是HTMLInputElement,所以在useRef
中传递useRef
类型。就像这个const inputFile = useRef<HTMLInputElement>(null);
。
https://stackoverflow.com/questions/71854540
复制相似问题