'File' 类型的参数不可分配给 'SetStateAction<string>' 类型的参数
Argument of type 'File' is not assignable to parameter of type 'SetStateAction<string>'
我正在构建一个使用 React 和打字稿的应用程序,我有一个多部分 post,如果我在 handleImageUpload 函数上初始化任何我的 'evt',它就可以工作。
但是,如果我尝试将其初始化为 React.ChangeEvent,则会出现以下错误:
''File' 类型的参数不能分配给 'SetStateAction' 类型的参数。'
你能帮我解决这个问题吗?
您还可以向我建议如何更改 handleSubmit 函数的任何初始化吗?
谢谢 <3
const handleSubmit = async (evt: any) => {
// debugger;
evt.preventDefault();
setIsProcessingUpload(true);
const formData = new FormData();
formData.append('logoimg', logo);
formData.append('background_image', background);
formData.append('name', name);
console.log(formData);
try {
Api.post('api/companies', formData, {
headers: {
'Content-Type': 'multipart/form-data'
}
}).finally(() => {
setIsProcessingUpload(false)
closeModal();
});
} catch (err) {
console.log(err);
}
};
const [logo, setImage] = useState('');
const handleImageUpload = (evt: React.ChangeEvent<HTMLInputElement>) => {
if (evt.target.files != null) {
setImage(evt.target.files[0]); //error
}
};
如何为您的 useState
声明 File
类型而不是字符串 ''
;
const [logo, setImage] = useState<File | null>(null);
const handleImageUpload = (evt: React.ChangeEvent<HTMLInputElement>) => {
if (evt.target.files != null) {
setImage(evt.target.files[0]); //error
}
};
我正在构建一个使用 React 和打字稿的应用程序,我有一个多部分 post,如果我在 handleImageUpload 函数上初始化任何我的 'evt',它就可以工作。 但是,如果我尝试将其初始化为 React.ChangeEvent,则会出现以下错误:
''File' 类型的参数不能分配给 'SetStateAction' 类型的参数。' 你能帮我解决这个问题吗? 您还可以向我建议如何更改 handleSubmit 函数的任何初始化吗? 谢谢 <3
const handleSubmit = async (evt: any) => {
// debugger;
evt.preventDefault();
setIsProcessingUpload(true);
const formData = new FormData();
formData.append('logoimg', logo);
formData.append('background_image', background);
formData.append('name', name);
console.log(formData);
try {
Api.post('api/companies', formData, {
headers: {
'Content-Type': 'multipart/form-data'
}
}).finally(() => {
setIsProcessingUpload(false)
closeModal();
});
} catch (err) {
console.log(err);
}
};
const [logo, setImage] = useState('');
const handleImageUpload = (evt: React.ChangeEvent<HTMLInputElement>) => {
if (evt.target.files != null) {
setImage(evt.target.files[0]); //error
}
};
如何为您的 useState
声明 File
类型而不是字符串 ''
;
const [logo, setImage] = useState<File | null>(null);
const handleImageUpload = (evt: React.ChangeEvent<HTMLInputElement>) => {
if (evt.target.files != null) {
setImage(evt.target.files[0]); //error
}
};