我正在尝试使用react挂钩上传图片

const [picture, setPicture] = useState();

const onChangePicture = e => {
    console.log('picture: ', picture);
    setPicture(...picture, e.target.files[0]);
};

<input
  type="file"
  //style={{ display: 'none' }}
  onChange={e => onChangePicture(e)}
/>


但是我收到以下错误:

Uncaught TypeError: picture is not iterable


当我将onChangePicture更改为

setPicture(picture, e.target.files[0])


图片变量未定义,

任何帮助,将不胜感激。

最佳答案

我认为您打算这样做:

setPicture([...picture, e.target.files[0]]);


这会将第一个文件连接到所有当前文件。

切记使用const [picture, setPicture] = useState([]);来确保它不会第一次破损

关于javascript - 如何使用React钩子(Hook)将文件置于状态变量中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56629481/

10-10 07:42