'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
    }
  };